The IDL_Object class is designed to be inherited by objects that define _overload methods, in order to overload the behavior of one or more of IDL’s standard operators. It is not meant to be instantiated directly.

To overload the behavior of a standard operator for objects of a user-defined object class, you would write an overloaded operator method for the class, and add IDL_Object as a superclass of the class. Object classes that do not inherit from the IDL_Object class do not use operator overload methods even if the methods are defined.

Object classes that inherit from the IDL_Object class can also overload several routines that provide information about variables: HELP, PRINT, and SIZE.

Note: The INIT and CLEANUP methods for a subclass do not need to call this superclass' INIT and CLEANUP methods.

Superclasses


None

Creation


This class serves as an interface class for other classes. There is never a need to instantiate an IDL_Object class directly.

Properties


DIM

LENGTH

NDIM

TNAME

TYPECODE

TYPENAME

See IDL Object Properties for details.

Methods


This class defines methods for each standard IDL operator that can be overloaded.

This class has the following methods:

Example


A user-defined class that overloads one or more operators must include the INHERITS token in the class structure definition:

PRO myObjectClass__define
structure = { myObjectClass, $
              PROPERTY1: 0L, $
              PROPERTY2: '', $
              INHERITS IDL_Object $
            }
END

Version History


8.0

Introduced

8.3 Added ::_overloadImpliedPrint

8.4

Added ::GetProperty method with Variable Attributes

8.4.1

Added ::_overloadPlusPlus, ::_overloadMinusMinus, ::_overloadPostIncrementCopy

8.5 Added ::_overloadFunction and ::_overloadMethod

See Also