IDL_Object::_overloadBracketsLeftSide

The IDL_Object::_overloadBracketsLeftSide procedure method defines the behavior of the array subscript ([]) operator (used on the left side of the equals sign) for instances of objects that inherit from the IDL_Object class.

This method is designed to replicate the default behavior of objects that do not use operator overloading. As a result, object classes that do inherit from the IDL_Object class but that do not override this particular method will behave in the same manner as object classes that do not inherit from the IDL_Object class.

Tip: If you write an object class that inherits from IDL_Object and overloads this method, you can call the superclass method directly to achieve the default behavior for specific cases.

Syntax

In most cases, this method is called indirectly when the [] operator is appended to an object reference argument on the left side of the equals sign. When called explicitly, the syntax is:

Obj->[IDL_Object::]_overloadBracketsLeftSide, ObjRef, Value, isRange, Subscript1 [, Subscript2, Subscript3, Subscript4, Subscript5, Subscript6, Subscript7, Subscript8]

Arguments

ObjRef

The object reference variable that is being indexed. (This is the same object reference as the implicit self argument and is used only in certain special circumstances.)

Value

The value specified on the right-hand side of the equal sign.

isRange

A vector that has one element for each Subscript argument supplied by the user; each element contains a zero if the corresponding input argument was a scalar index value or array of indices, or a one if the corresponding input argument was a subscript range.

Subscript1

Subscript2

Subscript3

Subscript4

Subscript5

Subscript6

Subscript7

Subscript8

Index subscripts. Each Subscript argument can be either a scalar subscript index value, an index array, or a subscript range. There must be at least one Subscript argument.

Keywords

None

Routine Signature

To overload the [] operator when used on the left side of the equals sign for an object class, implement a method with the following signature:

PRO class::_overloadBracketsLeftSide, ObjRef, Value, $

   isRange, Subscript1, Subscript2, Subscript3, Subscript4, $

   Subscript5, Subscript6, Subscript7, Subscript8

Version History

8.0

Introduced