<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.)
int32AcquireUniqueAdds to this <NodeBuffer> object any objects that are uniquely owned by the RHS buffer. The object in the RHS buffer is removed from the RHS buffer, and transferred to this buffer. This buffer then owns the RHS object. Non-owning pointers in the RHS buffer are ignored.
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.
int32ContainsSingleObjectReturns true if this collection contains only a single item.
int32CountIsMultipleOfReturns true if the count is a multiple of the specified value.
int32DeepCopyDeep copies nodes from the RHS buffer to this buffer. The nodes are cloned and all dependencies to other parts of the document are released. Node guids are regenerated.
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>.
int32DelObjSearches the buffer, starting at the specified index, and deletes the specified object from this buffer if it is found. The object is removed from the buffer, and then object itself is destroyed.
<Node>DetachNodeRemoves the <Node> from the set and detaches any dependencies that exist between the node and any other nodes in the set. Do not use this unless you know what you are doing and why.
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>FindNodeByTypeFinds the first node in the collection that matches the specified type.
<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.
<Node>GetNodeTypeByNameReturns a pointer to the first node in the collection of the specified type and name.
<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>.
int32MoveToMoves 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.
int32OwnsAllObjectsReturns true if the collection owns all objects.
int32OwnsAnyObjectsReturns true if the collection owns any objects.
int32OwnsIfUniqueAdds an owning pointer to the buffer if a pointer to the <Node> is not already resident.
int32OwnsNoObjectsReturns true if the collection doesn't own any objects.
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.
int32SortByNameSorts the pointers in the collection by the name of the node.

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.