# class UnsignedLongArray

UnsignedLongArray is the ulong implementation of ValueArray. See ValueArray for a description.

See also: ValueArray

# Properties

Property Description
AlternativeName A string that can be used to identify the array in collections. (Inherited from Array)
ItemCount The number of individual items in the array. Warning! Do not confuse this count with the count of tuples, they are only the same if TupleSize is equal to 1, i.e. when the tuples are exactly one component each. Also note that the item count should be a multiple of TupleSize. Note that the total number of items cannot exceed INT_MAX. (Inherited from Array)
Name The name of the UnsignedLongArray object. (Inherited from Object)
TupleCount The tuple count, meaning how many tuples are in the array. If resized to larger array, the new tuples will not be set to anything. (Inherited from Array)
TupleSize The tuple size, meaning how many items of the underlying data type is in a tuple. The tuple size must be set before the array is populated. (Inherited from Array)

# Methods

Method Description
AddItem Adds an item to the list, allocates memory as needed to enlarge the list. If many items are being put into the list, use Resize to set the size of the new list (only one reallocation needed) and then use SetItem() / SetTuple() to set the items directly.
AddObserver Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
AddTuple Adds a tuple to the list. Reallocates the list if needed. If many items are being put into the list, use Resize to set the size of the new list (only one reallocation needed) and then use SetItem() / SetRealTuple() to set the items directly.
AppendArray Appends an array to this array. The array must be a descendant of ValueArray. For best performance, append arrays of the same basic type. (Inherited from Array)
Clear Clears the array and sets the tuple count to 0. Tuple size and name remains the same though. (Inherited from Array)
CompareTuples CompareTuples compares a tuple in this array with a tuple in another array. Returns 0 if the tuples are identical, 1 if an element in this array tuple in ascending order is larger and -1 if smaller. (Inherited from Array)
CopyRange CopyRange copies a range of tuples from a source array into this array. The arrays must have the same tuple size and base type. This array must be resized to hold the tuples before copying. The basetypes are listed in EBaseTypes. (Inherited from Array)
CopyTuple CopyTuple copies one tuple in a source array to a tuple in this array. Both the dest_id and the source_id must exist in the arrays. This array can be used as the source array to copy within the array. (Inherited from Array)
DeepCopy Copies data from another array. The arrays must have the same underlying data types. (Inherited from Array)
Equals Compares this array, including all its contents, to another array. (Inherited from Array)
ExtractTuples Extracts tuples from the array. Note that the destination array must have the same classtype and have the same tuple size as the source array. (If both arrays are decendants of ValueArray, they can be of different types, but the conversion is slow). (Inherited from Array)
GetBaseType Returns the id of the basic type that the array is based on The ids are listed in the BaseTypes enumeration. (Inherited from Array)
GetClass Get the name of the UnsignedLongArray class. (Inherited from Object)
GetData Returns all tuples in the array as a single item array.
GetDataRange Returns a range of tuples in the array.
GetItem Gets the value of an item in the list. The id of the item is the exact location of the item (TupleId * TupleSize + Index of item in tuple) Warning! No range checking is done.
GetMaxItemId Returns the id of the last item that is in the array. The id returned is equal to (ItemCount - 1). Warning! Do not confuse this id with the id of a tuple, they are only the same if TupleSize is equal to one, i.e. when the tuples are exactly one component each. (Inherited from Array)
GetMaxTupleId Returns the id of the tuple last in the list. If the array is empty, the value is unspecified. Note: GetMaxTupleId() always returns (GetTupleCount()-1) as a signed id. (Inherited from Array)
GetRealItem GetRealItem() retrieves the item at position id. The id is the id of the item, not the tuple the item belongs to. GetRealItem() converts the value from the actual underlying data type to a real. (Inherited from ValueArray)
GetTuple Gets a tuple in the list. The id is the id of the tuple that is being fetched. Warning! No range checking is done.
IndexedCopy Copies tuples from a source array through an id table. The id table dictates the order in which the tuples are to be copied to this array. E.g. If the first item in the id table has the value 14, then the tuple with id 14 in the source array will be copied to the first tuple in this array. Note: All ids in the id table must be valid ids of tuples in the source array. The id table is assumed to have a tuple size of 1. The source array and this array must have the same underlying data type, and have the same tuple size. The array must be large enough to hold the copied data. (Inherited from Array)
IsA Returns true if UnsignedLongArray is a or is a descendant of the class named as the type parameter. (Inherited from Object)
IsEmpty Returns true if the list is empty. (Inherited from Array)
IsNull Returns true if the UnsignedLongArray object is invalid. (Inherited from Object)
IsSameObjectAs Returns true if the UnsignedLongArray object is valid. (Inherited from Object)
NewCopy Creates a new array with the same underlying data type, size and tuple settings as this array. To also copy the actual data, set copy_data to true. (Inherited from Array)
NewPackedCopy Like NewCopy, NewPackedCopy creates an array with the same underlying data and tuple settings as the source array. However, NewPackedCopy only copies unique tuples, and if the index_array parameter is set, this index array will contain the same number of tuples as the source array, and with the ids of a specific tuples within the new copy of the array. (Inherited from Array)
NonNull Returns true if the UnsignedLongArray object is valid. (Inherited from Object)
PrintInfo Prints the content/info of the UnsignedLongArray object to the log. (Inherited from Object)
RemoveObserver Removes a previously added observer object. (Inherited from Object)
SetData Set the array from a range of data values. Note that the array will be resized to the size of the items. Note that the source_item_count is the number of items to set, NOT the number of tuples.
SetDataFromMemoryPtr Set the array from a range of data values in a raw memory block. The array will be resized to the size of the tuples. Please set the tuple size before calling this method. Note! that the source_tuple_count is the number of TUPLES to set, not the number of items. Note! This method is intended for advanced users who want to get maximum performance. No range checking is done in this method, and your code will crash if your read area is not large enough.
SetDataRange Set a part of the array from a range of data values. Note that the array will be resized to contain the size of the items. Note that the source_item_count is the number of items to set, NOT the number of tuples, but start_tuple_id IS the first tuple index to update.
SetItem Sets an item in the list. The id of the item is the exact location of the item (TupleId * TupleSize + Index of item in tuple) Warning! No range checking is done.
SetRealItem SetRealItem() sets the item at position id. The id is the id of the item, not the tuple the item belongs to. SetRealItem() converts the value from real to the actual underlying data type. (Inherited from ValueArray)
SetTuple Sets a tuple in the list. The id is the id of the tuple that is being updated. Warning! No range checking is done.

# Static methods

Method Description
IsClassA Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
SafeCast SafeCast makes sure the input object is of a class that can be cast into spUnsignedLongArray, and if this is the case, returns the object cast into spUnsignedLongArray. (Inherited from Object)

# Properties details

# AlternativeName

A string that can be used to identify the array in collections.

    # ItemCount

    The number of individual items in the array. Warning! Do not confuse this count with the count of tuples, they are only the same if TupleSize is equal to 1, i.e. when the tuples are exactly one component each. Also note that the item count should be a multiple of TupleSize. Note that the total number of items cannot exceed INT_MAX.

      # Name

      The name of the UnsignedLongArray object. (Inherited from Object)

        # TupleCount

        The tuple count, meaning how many tuples are in the array. If resized to larger array, the new tuples will not be set to anything.

          # TupleSize

          The tuple size, meaning how many items of the underlying data type is in a tuple. The tuple size must be set before the array is populated.

            # Methods details

            # AddItem

            Adds an item to the list, allocates memory as needed to enlarge the list. If many items are being put into the list, use Resize to set the size of the new list (only one reallocation needed) and then use SetItem() / SetTuple() to set the items directly.

              # AddObserver

              Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)

                # AddTuple

                Adds a tuple to the list. Reallocates the list if needed. If many items are being put into the list, use Resize to set the size of the new list (only one reallocation needed) and then use SetItem() / SetRealTuple() to set the items directly.

                  # AppendArray

                  Appends an array to this array. The array must be a descendant of ValueArray. For best performance, append arrays of the same basic type.

                    # Clear

                    Clears the array and sets the tuple count to 0. Tuple size and name remains the same though.

                      # CompareTuples

                      CompareTuples compares a tuple in this array with a tuple in another array. Returns 0 if the tuples are identical, 1 if an element in this array tuple in ascending order is larger and -1 if smaller.

                        # CopyRange

                        CopyRange copies a range of tuples from a source array into this array. The arrays must have the same tuple size and base type. This array must be resized to hold the tuples before copying. The basetypes are listed in EBaseTypes.

                          # CopyTuple

                          CopyTuple copies one tuple in a source array to a tuple in this array. Both the dest_id and the source_id must exist in the arrays. This array can be used as the source array to copy within the array.

                            # DeepCopy

                            Copies data from another array. The arrays must have the same underlying data types.

                              # Equals

                              Compares this array, including all its contents, to another array.

                                # ExtractTuples

                                Extracts tuples from the array. Note that the destination array must have the same classtype and have the same tuple size as the source array. (If both arrays are decendants of ValueArray, they can be of different types, but the conversion is slow).

                                  # GetBaseType

                                  Returns the id of the basic type that the array is based on The ids are listed in the BaseTypes enumeration.

                                    # GetClass

                                    Get the name of the UnsignedLongArray class. (Inherited from Object)

                                      # GetData

                                      Returns all tuples in the array as a single item array.

                                        # GetDataRange

                                        Returns a range of tuples in the array.

                                          # GetItem

                                          Gets the value of an item in the list. The id of the item is the exact location of the item (TupleId * TupleSize + Index of item in tuple) Warning! No range checking is done.

                                            # GetMaxItemId

                                            Returns the id of the last item that is in the array. The id returned is equal to (ItemCount - 1). Warning! Do not confuse this id with the id of a tuple, they are only the same if TupleSize is equal to one, i.e. when the tuples are exactly one component each.

                                              # GetMaxTupleId

                                              Returns the id of the tuple last in the list. If the array is empty, the value is unspecified. Note: GetMaxTupleId() always returns (GetTupleCount()-1) as a signed id.

                                                # GetRealItem

                                                GetRealItem() retrieves the item at position id. The id is the id of the item, not the tuple the item belongs to. GetRealItem() converts the value from the actual underlying data type to a real.

                                                  # GetTuple

                                                  Gets a tuple in the list. The id is the id of the tuple that is being fetched. Warning! No range checking is done.

                                                    # IndexedCopy

                                                    Copies tuples from a source array through an id table. The id table dictates the order in which the tuples are to be copied to this array. E.g. If the first item in the id table has the value 14, then the tuple with id 14 in the source array will be copied to the first tuple in this array. Note: All ids in the id table must be valid ids of tuples in the source array. The id table is assumed to have a tuple size of 1. The source array and this array must have the same underlying data type, and have the same tuple size. The array must be large enough to hold the copied data.

                                                      # IsA

                                                      Returns true if UnsignedLongArray is a or is a descendant of the class named as the type parameter. (Inherited from Object)

                                                        # IsEmpty

                                                        Returns true if the list is empty.

                                                          # IsNull

                                                          Returns true if the UnsignedLongArray object is invalid. (Inherited from Object)

                                                            # IsSameObjectAs

                                                            Returns true if the UnsignedLongArray object is valid. (Inherited from Object)

                                                              # NewCopy

                                                              Creates a new array with the same underlying data type, size and tuple settings as this array. To also copy the actual data, set copy_data to true.

                                                                # NewPackedCopy

                                                                Like NewCopy, NewPackedCopy creates an array with the same underlying data and tuple settings as the source array. However, NewPackedCopy only copies unique tuples, and if the index_array parameter is set, this index array will contain the same number of tuples as the source array, and with the ids of a specific tuples within the new copy of the array.

                                                                  # NonNull

                                                                  Returns true if the UnsignedLongArray object is valid. (Inherited from Object)

                                                                    # PrintInfo

                                                                    Prints the content/info of the UnsignedLongArray object to the log. (Inherited from Object)

                                                                      # RemoveObserver

                                                                      Removes a previously added observer object. (Inherited from Object)

                                                                        # SetData

                                                                        Set the array from a range of data values. Note that the array will be resized to the size of the items. Note that the source_item_count is the number of items to set, NOT the number of tuples.

                                                                          # SetDataFromMemoryPtr

                                                                          Set the array from a range of data values in a raw memory block. The array will be resized to the size of the tuples. Please set the tuple size before calling this method. Note! that the source_tuple_count is the number of TUPLES to set, not the number of items. Note! This method is intended for advanced users who want to get maximum performance. No range checking is done in this method, and your code will crash if your read area is not large enough.

                                                                            # SetDataRange

                                                                            Set a part of the array from a range of data values. Note that the array will be resized to contain the size of the items. Note that the source_item_count is the number of items to set, NOT the number of tuples, but start_tuple_id IS the first tuple index to update.

                                                                              # SetItem

                                                                              Sets an item in the list. The id of the item is the exact location of the item (TupleId * TupleSize + Index of item in tuple) Warning! No range checking is done.

                                                                                # SetRealItem

                                                                                SetRealItem() sets the item at position id. The id is the id of the item, not the tuple the item belongs to. SetRealItem() converts the value from real to the actual underlying data type.

                                                                                  # SetTuple

                                                                                  Sets a tuple in the list. The id is the id of the tuple that is being updated. Warning! No range checking is done.

                                                                                    # Static methods details

                                                                                    # IsClassA

                                                                                    Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)

                                                                                      # SafeCast

                                                                                      SafeCast makes sure the input object is of a class that can be cast into spUnsignedLongArray, and if this is the case, returns the object cast into spUnsignedLongArray. (Inherited from Object)