<NodeBuffer> Data Interface

Provides script language access to C++ objects of this type.

Class HierarchyNo registered superclass.

Function Members

Function members are as follows:

Return Type Function Name Documentation
int32AcquireNodeTransfers ownership of a <Node> from the source <NodeBuffer> to this <NodeBuffer>. The owning pointer in the source <NodeBuffer> is replaced with a nullptr, and the overall memory layout of the source <NodeBuffer> does not change. (No deallocation occurs inside the source <NodeBuffer> when the owning pointer is transferred.)
int32AcquireNodesTransfers ownership of all <Node> objects from the source <NodeBuffer> to this <NodeBuffer>, provided this <NodeBuffer> contains non-owning pointers to the <Node> objects. The owning pointers in the source <NodeBuffer> are replaced with null pointers, and the non-owning pointers in hte destination are replaced with owning pointers. The overall memory layout of the source <NodeBuffer> does not change. (No deallocation occurs inside the source <NodeBuffer> when the owning pointers are transferred.)
int32AddAdds to this <NodeBuffer> an owning pointer to the <Node>, provided this <NodeBuffer> does not already store an owning pointer to the <Node>.
int32AddIfUniqueAdds an owning pointer to the buffer if a pointer to the <Node> is not already resident.
int32AddRefAdds to this <NodeBuffer> a non-owning pointer to the <Node>.
int32AddRefUniqueAdds a non-owning pointer to the buffer if a pointer to the <Node> is not already resident.
int32ClearDestroys any <Node> objects owned by this <NodeBuffer> and deallocates the underlying <NodePtrArray> and <Int32Array> objects used to implement the <NodeBuffer>. Does not destroy this <NodeBuffer> object.
int32CompactA <NodeBuffer> can contain a mix of owning pointers, non-owning pointers, and null pointers. Removes any collection indices that refer to null pointers.
int32ContainsNullPointerReturns true if this <NodeBuffer> contains any null pointers.
int32CountIsMultipleOfReturns true if the count is a multiple of the specified value.
int32DelIf the <NodeBuffer> owns the object at the specified index, this function destroys the object. In either case, complementary deallocations occur in the underlying <NodePtrArray> and <Int32Array> objects that implement <NodeBuffer>.
int32DelFirstDeletes the first item in the array. Complementary deallocations occur in the underlying <NodePtrArray> and <Int32Array> objects that implement <NodeBuffer>.
int32DelLastDeletes the last item in the array. Complementary deallocations occur in the underlying <NodePtrArray> and <Int32Array> objects that implement <NodeBuffer>.
int32FindReturns the index of a <Node> in the <NodeBuffer> or -1 if the <Node> cannot be found.
<Node>FindByGuidReturns a pointer to the <Node> with the specified GUID or nullptr if the <Node> cannot be found in the collection.
<Node>FindByNameReturns a pointer to the <Node> with the specified name or nullptr if the <Node> cannot be found in the collection.
int32FindIndexByGuidReturns the index of the <Node> with the specified GUID or -1 if the <Node> cannot be found in the collection.
int32FindIndexByNameReturns the index of the <Node> with the specified name or -1 if the <Node> cannot be found in the collection.
<Node>GetReturns a pointer to the <Node> at the specified index or nullptr if the specified index is invalid.
<Node>GetByGuidReturns a pointer to the <Node> with the specified GUID or nullptr if the <Node> cannot be found in the collection.
<Node>GetByNameReturns a pointer to the <Node> with the specified name or nullptr if the <Node> cannot be found in the collection.
int32GetCountReturns the count of the underlying <NodePtrArray> object.
<Node>GetFirstReturns a pointer to the first <Node> in the <NodeBuffer>, or nullptr if the <NodeBuffer> is empty.
int32GetIndexByGuidReturns the index of the <Node> with the specified GUID or -1 if the <Node> cannot be found in the collection.
int32GetIndexByNameReturns the index of the <Node> with the specified name or -1 if the <Node> cannot be found in the collection.
int32GetIndicesByTypePopulates an <Int32Array> with the indices of any nodes of the specified type.
<Node>GetLastReturns a pointer to the last <Node> in the <NodeBuffer>, or nullptr if the <NodeBuffer> is empty.
<Node>GetNodeReturns a pointer to the <Node> with the specified name, or nullptr if the <Node> cannot be found.
<Node>GetNodeByGuidPopulates this object with pointers to <Node> objects whose GUIDs match the GUID submitted to this function.
<Node>GetNodeByNameReturns a pointer to the first <Node> object in the collection that has a matching name.
<Node>GetNodeByTypeReturns a pointer to the first <Node> object in the collection that has a matching type.
<Node>GetNodeTypeReturns a pointer to the first <Node> of the specified type, or nullptr if a matching <Node> cannot be found.
<NodeBufferView>GetViewReturns a pointer to a <NodeBufferView> object that contains iterators to the start and end of the collection.
int32IfOwnsIndexReturns true if the <NodeBuffer> owns the <Node> at the specified index.
int32IfOwnsObjReturns true if the <NodeBuffer> owns the specified <Node>.
int32InReturns true if the <NodeBuffer> has a pointer to the <Node>.
int32InsertInserts a <Node> into the collection and sets an owning or non-owning relationship. This function can require a full allocation and deallocation cycle. Note that the collection does not support multiple ownership, so this function fails if the collection already has an owning pointer to the <Node>.
int32IsEmptyReturns true if the collection is empty.
int32IsHeterogenousReturns true if the collection contains more than one type of <Node>, with an option to allow subclasses to constitute a match.
int32IsHomogenousReturns true if the collection contains one type of <Node>, with an option to allow subclasses to constitute a match.
<Node>MakeNonOwningChanges the pointer at the specified index from owning to non-owning and returns a pointer to the <Node>.
int32MoveMoves the collection's memory from this <NodeBuffer> to the destination <NodeBuffer>. This operation uses move semantics to avoid a copy.
int32OwnsAdds to the collection an owning pointer to specified <Node>. This can require up to a full allocation and deallocation cycle.
int32OwnsIfUniqueAdds an owning pointer to the buffer if a pointer to the <Node> is not already resident.
int32RefersAdds to the collection a non-owning pointer to specified <Node>. This can require up to a full allocation and deallocation cycle.
int32RefersIfUniqueAdds a non-owning pointer to the buffer if a pointer to the <Node> is not already resident.
int32RelocateRelocates a chunk of the array to a new index.
<Node>RemoveAtRemoves the <Node> at the specified index from the collection, replaces its index with a nullptr, changes ownership status to non-owning, and returns a pointer to the <Node>.
<Node>RemoveFirstRemoves the first <Node> from the collection, replaces its index with a nullptr, changes ownership status to non-owning, and returns a pointer to the <Node>.
<Node>RemoveLastRemoves the last <Node> from the collection, replaces its index with a nullptr, changes ownership status to non-owning, and returns a pointer to the <Node>.
<Node>RemoveObjRemoves the specified <Node> from the collection, replaces its index with a nullptr, changes ownership status to non-owning, and returns a pointer to the <Node>.
int32ReverseReverses the order of the pointers in the <NodeBuffer> from last to first.
int32SetSets the pointer at the specified index to have an owning or non-owning relationship with the specified <Node>. Note that multiple ownership is not supported and this call fails if the collection already has an owning pointer to the <Node>.
int32ShallowCopyPopulates this <NodeBuffer> with non-owning pointers to all the <Node> objects in the source <NodeBuffer>.
int32ShrinkShrinks the collection to a range specified by a start index and count.

Object Members

Object members are as follows:

Type Name Accessor Name Documentation
int32CountSets the number of items in the collection. Requires at least one memory allocation, but may require a full allocation and deallocation cycle.
int32ReserveSets the reserve memory, which does not refer to the number of items in the collection, but refers to the size of the underlying buffer.