PCL
|
Dynamic array of pointers to objects providing direct iteration and element access by reference. More...
#include <ReferenceArray.h>
Classes | |
class | const_iterator |
Immutable ReferenceArray iterator. More... | |
class | iterator |
Mutable ReferenceArray iterator. More... | |
Public Types | |
using | allocator = typename array_implementation::allocator |
using | array_implementation = IndirectArray< T, A > |
using | block_allocator = typename array_implementation::block_allocator |
using | const_indirect_iterator = typename array_implementation::const_iterator |
using | const_item_type = typename container_type::const_item_type |
using | container_type = DirectContainer< T > |
using | indirect_iterator = typename array_implementation::iterator |
using | item_type = typename container_type::item_type |
Public Types inherited from pcl::DirectContainer< T > | |
using | const_item_type = const T |
using | item_type = T |
Public Member Functions | |
ReferenceArray ()=default | |
ReferenceArray (const ReferenceArray &)=default | |
template<class FI > | |
ReferenceArray (FI i, FI j) | |
ReferenceArray (ReferenceArray &&)=default | |
ReferenceArray (size_type n, const T *p) | |
~ReferenceArray () | |
void | Add (const ReferenceArray &x) |
void | Add (const T *p, size_type n=1) |
template<class FI > | |
void | Add (FI i, FI j) |
const allocator & | Allocator () const |
void | Append (const ReferenceArray &x) |
void | Append (const T *p, size_type n=1) |
template<class FI > | |
void | Append (FI p, FI q) |
template<class F > | |
void | Apply (F f) |
template<class F > | |
void | Apply (F f) const |
void | Assign (const ReferenceArray &x) |
void | Assign (const T *p, size_type n=1) |
template<class FI > | |
void | Assign (FI i, FI j) |
iterator | At (size_type i) |
const_iterator | At (size_type i) const |
size_type | Available () const |
iterator | Begin () |
iterator | begin () |
const_iterator | Begin () const |
const_iterator | begin () const |
size_type | Capacity () const |
void | Clear () |
template<class C > | |
void | CloneAssign (const C &x) |
const_iterator | ConstBegin () const |
const_iterator | ConstEnd () const |
const_reverse_iterator | ConstReverseBegin () const |
const_reverse_iterator | ConstReverseEnd () const |
bool | Contains (const T &v) const |
template<class BP > | |
bool | Contains (const T &v, BP p) const |
bool | Contains (const T *p) const |
template<class C > | |
iterator | ContainsSubset (const C &c) const |
template<class C , class BP > | |
iterator | ContainsSubset (const C &c, BP p) const |
template<class FI > | |
iterator | ContainsSubset (FI i, FI j) const |
template<class FI , class BP > | |
iterator | ContainsSubset (FI i, FI j, BP p) const |
size_type | Count (const T &v) const |
template<class BP > | |
size_type | Count (const T &v, BP p) const |
size_type | Count (const T *p) const |
template<class UP > | |
size_type | CountIf (UP p) const |
void | Destroy () |
void | Destroy (const T &v) |
template<class BP > | |
void | Destroy (const T &v, BP p) |
void | Destroy (iterator i, iterator j) |
void | Destroy (iterator i, size_type n=1) |
iterator | End () |
iterator | end () |
const_iterator | End () const |
const_iterator | end () const |
void | EnsureUnique () |
void | Fill (const T &v) |
T & | First () |
const T & | First () const |
template<class F > | |
iterator | FirstThat (F f) |
template<class F > | |
const_iterator | FirstThat (F f) const |
uint64 | Hash (uint64 seed=0) const |
uint32 | Hash32 (uint32 seed=0) const |
uint64 | Hash64 (uint64 seed=0) const |
void | Import (iterator i, iterator j) |
iterator | Insert (const_iterator i, const ReferenceArray &x) |
iterator | Insert (const_iterator i, const T *p, size_type n=1) |
template<class FI > | |
iterator | Insert (const_iterator i, FI p, FI q) |
bool | IsAliasOf (const ReferenceArray &x) const |
bool | IsEmpty () const |
bool | IsUnique () const |
bool | IsValid () const |
T & | Last () |
const T & | Last () const |
template<class F > | |
iterator | LastThat (F f) |
template<class F > | |
const_iterator | LastThat (F f) const |
size_type | Length () const |
size_type | LowerBound () const |
iterator | MaxItem () |
const_iterator | MaxItem () const |
template<class BP > | |
iterator | MaxItem (BP p) |
template<class BP > | |
const_iterator | MaxItem (BP p) const |
iterator | MinItem () |
const_iterator | MinItem () const |
template<class BP > | |
iterator | MinItem (BP p) |
template<class BP > | |
const_iterator | MinItem (BP p) const |
iterator | MutableIterator (const_iterator i) |
T & | operator* () |
const T & | operator* () const |
ReferenceArray & | operator= (const ReferenceArray &x) |
ReferenceArray & | operator= (ReferenceArray &&x) |
T & | operator[] (size_type i) |
const T & | operator[] (size_type i) const |
void | Prepend (const ReferenceArray &x) |
void | Prepend (const T *p, size_type n=1) |
template<class FI > | |
void | Prepend (FI p, FI q) |
indirect_iterator | Release () |
void | Remove (const T &v) |
template<class BP > | |
void | Remove (const T &v, BP p) |
void | Remove (const_iterator i, const_iterator j) |
void | Remove (const_iterator i, size_type n=1) |
void | RemoveFirst (size_type n=1) |
void | RemoveLast (size_type n=1) |
void | RemovePointer (const T *p) |
iterator | Replace (const_iterator i, const_iterator j, const ReferenceArray &x) |
iterator | Replace (const_iterator i, const_iterator j, const T *p, size_type n=1) |
template<class FI > | |
iterator | Replace (const_iterator i, const_iterator j, FI p, FI q) |
void | Reserve (size_type n) |
void | Reverse () |
reverse_iterator | ReverseBegin () |
const_reverse_iterator | ReverseBegin () const |
reverse_iterator | ReverseEnd () |
const_reverse_iterator | ReverseEnd () const |
void | Rotate (distance_type n) |
iterator | Search (const T &v) |
const_iterator | Search (const T &v) const |
template<class BP > | |
iterator | Search (const T &v, BP p) |
template<class BP > | |
const_iterator | Search (const T &v, BP p) const |
iterator | Search (const T *p) |
const_iterator | Search (const T *p) const |
iterator | SearchLast (const T &v) |
const_iterator | SearchLast (const T &v) const |
template<class BP > | |
iterator | SearchLast (const T &v, BP p) |
template<class BP > | |
const_iterator | SearchLast (const T &v, BP p) const |
iterator | SearchLast (const T *p) |
const_iterator | SearchLast (const T *p) const |
template<class BI > | |
iterator | SearchLastSubset (BI i, BI j) |
template<class BI > | |
const_iterator | SearchLastSubset (BI i, BI j) const |
template<class BI , class BP > | |
iterator | SearchLastSubset (BI i, BI j, BP p) |
template<class BI , class BP > | |
const_iterator | SearchLastSubset (BI i, BI j, BP p) const |
template<class C > | |
iterator | SearchLastSubset (const C &c) |
template<class C > | |
const_iterator | SearchLastSubset (const C &c) const |
template<class C , class BP > | |
iterator | SearchLastSubset (const C &c, BP p) |
template<class C , class BP > | |
const_iterator | SearchLastSubset (const C &c, BP p) const |
template<class C > | |
iterator | SearchSubset (const C &c) |
template<class C > | |
const_iterator | SearchSubset (const C &c) const |
template<class C , class BP > | |
iterator | SearchSubset (const C &c, BP p) |
template<class C , class BP > | |
const_iterator | SearchSubset (const C &c, BP p) const |
template<class FI > | |
iterator | SearchSubset (FI i, FI j) |
template<class FI > | |
const_iterator | SearchSubset (FI i, FI j) const |
template<class FI , class BP > | |
iterator | SearchSubset (FI i, FI j, BP p) |
template<class FI , class BP > | |
const_iterator | SearchSubset (FI i, FI j, BP p) const |
void | SetAllocator (const allocator &a) |
void | ShiftLeft (const T *p, size_type n=1) |
void | ShiftRight (const T *p, size_type n=1) |
void | Shrink (size_type n=1) |
size_type | Size () const |
void | Sort () |
template<class BP > | |
void | Sort (BP p) |
void | Squeeze () |
template<class S > | |
S & | ToCommaSeparated (S &s) const |
template<class S > | |
S & | ToNewLineSeparated (S &s) const |
template<class S , typename SP > | |
S & | ToSeparated (S &s, SP separator) const |
template<class S , typename SP , class AF > | |
S & | ToSeparated (S &s, SP separator, AF append) const |
template<class S > | |
S & | ToSpaceSeparated (S &s) const |
template<class S > | |
S & | ToTabSeparated (S &s) const |
void | Transfer (ReferenceArray &&x) |
void | Transfer (ReferenceArray &x) |
void | Truncate (const_iterator i) |
void | UniquifyIterator (iterator &i) |
void | UniquifyIterators (iterator &i, iterator &j) |
size_type | UpperBound () const |
Friends | |
void | Swap (ReferenceArray &x1, ReferenceArray &x2) |
ReferenceArray is a generic, finite ordered sequence of pointers to objects, implemented as a reference-counted, dynamic array of pointers to T instances. The type A provides dynamic allocation for contiguous sequences of void* (StandardAllocator is used by default).
Unlike IndirectArray, ReferenceArray provides direct access to the objects pointed to by its contained pointers, including direct iteration through references instead of pointers. This makes ReferenceArray a perfect replacement for Array in cases where storing copies of objects is inviable or impractical; for example, when the objects to be stored are unique by nature, when the cost of a copy operation is excessive, or as the underlying implementation of an heterogeneous container. As a prerequisite for this functionality, ReferenceArray, unlike IndirectArray, cannot contain null pointers.
Definition at line 95 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::allocator = typename array_implementation::allocator |
#
Definition at line 121 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::array_implementation = IndirectArray<T,A> |
#
Definition at line 113 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::block_allocator = typename array_implementation::block_allocator |
#
Definition at line 117 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::const_indirect_iterator = typename array_implementation::const_iterator |
#
Definition at line 129 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::const_item_type = typename container_type::const_item_type |
#
Definition at line 109 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::container_type = DirectContainer<T> |
#
Definition at line 101 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::indirect_iterator = typename array_implementation::iterator |
#
Definition at line 125 of file ReferenceArray.h.
using pcl::ReferenceArray< T, A >::item_type = typename container_type::item_type |
#
Definition at line 105 of file ReferenceArray.h.
|
default |
Constructs an empty reference array.
|
inline |
Constructs a reference array that stores n copies of a non-null pointer p.
If p is nullptr
, this function constructs an empty reference array.
Definition at line 606 of file ReferenceArray.h.
|
inline |
Constructs a reference array as a copy of the sequence of non-null pointers defined by the range [i,j) of forward iterators.
If the range [i,j) contains null pointers, these are ignored and hence not included in the constructed reference array.
Definition at line 621 of file ReferenceArray.h.
|
default |
Copy constructor.
|
default |
Move constructor.
|
inline |
Destroys a ReferenceArray object.
Deallocates the internal array of pointers to objects, but does not destroy the pointed objects. To destroy them, you have to call Destroy() or Delete() explicitly.
Definition at line 645 of file ReferenceArray.h.
|
inline |
A synonym for Append( const ReferenceArray<>& )
Definition at line 1345 of file ReferenceArray.h.
|
inline |
A synonym for Append( const T*, size_type )
Definition at line 1353 of file ReferenceArray.h.
|
inline |
A synonym for Append( FI, FI )
Definition at line 1362 of file ReferenceArray.h.
|
inline |
Returns a reference to the allocator object used by this reference array.
Definition at line 770 of file ReferenceArray.h.
|
inline |
Appends a copy of the sequence of pointers contained by the reference array x to this array.
Definition at line 1270 of file ReferenceArray.h.
|
inline |
Appends a contiguous sequence of n pointers equal to p to this reference array.
If p is nullptr
, this function has no effect.
Definition at line 1281 of file ReferenceArray.h.
|
inline |
Appends a copy of the sequence of pointers defined by the range [p,q) of forward iterators to this reference array.
If the range [p,q) contains null pointers, these are ignored and not inserted in this array.
Definition at line 1297 of file ReferenceArray.h.
|
inline |
Calls f( T& x ) for every object x in this reference array, successively from the first contained object to the last.
Definition at line 1690 of file ReferenceArray.h.
|
inline |
Calls f( const T& x ) for every unmodifiable object x in this reference array, successively from the first contained object to the last.
Definition at line 1700 of file ReferenceArray.h.
|
inline |
Assigns a reference array x to this reference array.
Decrements the reference counter of the current array data, and destroys it if it becomes unreferenced.
Increments the reference counter of the source array's data and references it in this array.
Definition at line 1092 of file ReferenceArray.h.
|
inline |
Replaces the contents of this reference array with a sequence of n pointers equal to p.
if p is nullptr
, this function yields an empty array.
Definition at line 1140 of file ReferenceArray.h.
|
inline |
Replaces the contents of this reference array with a copy of the sequence of pointers defined by the range [i,j) of forward iterators.
If the range [i,j) contains null pointers, these are ignored and hence not included in this reference array.
Definition at line 1158 of file ReferenceArray.h.
|
inline |
Returns a mutable reference array iterator located at the specified array index i.
Definition at line 787 of file ReferenceArray.h.
|
inline |
Returns an immutable reference array iterator located at the specified array index i.
Definition at line 796 of file ReferenceArray.h.
|
inline |
Returns the length of the space available in this reference array, or zero if this reference array cannot contain more pointers. The available space is the number of pointers to objects that can be added to this reference array without requiring a reallocation. It is equal to Capacity() - Length() by definition.
Definition at line 716 of file ReferenceArray.h.
|
inline |
Returns a mutable iterator located at the beginning of this array.
Definition at line 854 of file ReferenceArray.h.
Referenced by pcl::operator<(), pcl::operator==(), and pcl::AbstractImage::RunThreads().
|
inline |
STL-compatible iteration. Equivalent to Begin().
Definition at line 1041 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator located at the beginning of this array.
Definition at line 862 of file ReferenceArray.h.
|
inline |
STL-compatible iteration. Equivalent to Begin() const.
Definition at line 1049 of file ReferenceArray.h.
|
inline |
Returns the capacity of this reference array. The capacity is the maximum number of pointers to objects that this reference array can contain without requiring a reallocation.
Definition at line 704 of file ReferenceArray.h.
|
inline |
Removes all pointers contained by this object, yielding an empty reference array.
If this array is empty, then calling this member function has no effect.
If this array uniquely references its internal array data structure, all pointers contained are deallocated; otherwise its reference counter is decremented. Then a new, empty array data structure is created and uniquely referenced.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1502 of file ReferenceArray.h.
Referenced by pcl::XMLElement::ReleaseChildNodes().
|
inline |
Replaces the contents of this reference array with a set of pointers to newly created copies of the objects stored in the specified container x. This function works for both direct and indirect containers.
Keep in mind that after calling this function (with a reference to a nonempty container) this array will store newly allocated objects. You should call Destroy() to deallocate these objects before destructing this reference array in order to avoid a memory leak.
Definition at line 1177 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator located at the beginning of this array.
Definition at line 870 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator located at the end of this array.
Definition at line 894 of file ReferenceArray.h.
|
inline |
Returns an immutable reverse iterator located at the reverse beginning of this indirect array.
The reverse beginning corresponds to the last pointer in the array.
Definition at line 927 of file ReferenceArray.h.
|
inline |
Returns an immutable reverse iterator located at the reverse end of this reference array.
The reverse end corresponds to a (nonexistent) object immediately before the first object in the array.
Definition at line 966 of file ReferenceArray.h.
|
inline |
#
Definition at line 2095 of file ReferenceArray.h.
|
inline |
#
Definition at line 2110 of file ReferenceArray.h.
|
inline |
#
Definition at line 2102 of file ReferenceArray.h.
|
inline |
#
Definition at line 2134 of file ReferenceArray.h.
|
inline |
#
Definition at line 2142 of file ReferenceArray.h.
|
inline |
#
Definition at line 2118 of file ReferenceArray.h.
|
inline |
#
Definition at line 2126 of file ReferenceArray.h.
|
inline |
Returns the number of objects equal to v in this reference array.
Definition at line 1752 of file ReferenceArray.h.
|
inline |
Returns the number of objects in this reference array such that for each counted object x the binary predicate p( x, v ) returns true.
Definition at line 1774 of file ReferenceArray.h.
|
inline |
Returns the number of pointers equal to p stored in this reference array.
If p is nullptr
, this function should return zero — or you are in serious trouble!
Definition at line 1764 of file ReferenceArray.h.
|
inline |
Returns the number of objects in this reference array such that for each counted object x the unary predicate p( x ) returns true.
Definition at line 1784 of file ReferenceArray.h.
References pcl::CountIf().
|
inline |
Destroys and removes all objects in this reference array, yielding an empty array.
Definition at line 1585 of file ReferenceArray.h.
|
inline |
Destroys and removes all objects equal to v in this reference array.
This function destroys and deallocates the pointed objects, then removes the corresponding pointers in this array. The array length is decreased by the number of destroyed objects.
Definition at line 1556 of file ReferenceArray.h.
|
inline |
Destroys and removes every object x in this reference array such that the binary predicate p( x, v ) is true.
This function destroys and deallocates the pointed objects, then removes the corresponding pointers in this array. The array length is decreased by the number of destroyed objects.
Definition at line 1573 of file ReferenceArray.h.
|
inline |
Destroys and removes the objects in a range [i,j) of iterators in this reference array.
This function destroys and deallocates the pointed objects, then removes the corresponding pointers in this array. The array length is decreased by the number of destroyed objects.
Definition at line 1541 of file ReferenceArray.h.
|
inline |
Destroys and removes a sequence of n contiguous objects, starting at the specified location i in this reference array.
This function destroys and deallocates the pointed objects, then removes the corresponding pointers in this array. The array length is decreased by the number of destroyed objects.
Definition at line 1518 of file ReferenceArray.h.
Referenced by pcl::AbstractImage::RunThreads().
|
inline |
Returns a mutable iterator located at the end of this array.
Definition at line 878 of file ReferenceArray.h.
Referenced by pcl::operator<(), pcl::operator==(), and pcl::AbstractImage::RunThreads().
|
inline |
STL-compatible iteration. Equivalent to End().
Definition at line 1057 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator located at the end of this array.
Definition at line 886 of file ReferenceArray.h.
|
inline |
STL-compatible iteration. Equivalent to End() const.
Definition at line 1065 of file ReferenceArray.h.
|
inline |
Ensures that this reference array uniquely references its contained object pointers.
If necessary, this member function generates a duplicate of the array of pointers, references it, and then decrements the reference counter of the original pointer array.
Definition at line 677 of file ReferenceArray.h.
|
inline |
Sets all objects contained by this array equal to v.
Definition at line 1680 of file ReferenceArray.h.
|
inline |
Returns a reference to the first object in this reference array. This function should never be called for an empty array.
Definition at line 976 of file ReferenceArray.h.
|
inline |
Returns a reference to the first unmodifiable object in this reference array. This function should never be called for an empty array.
Definition at line 985 of file ReferenceArray.h.
|
inline |
Returns a mutable iterator pointing to the first object x in this reference array such that f( const T& x ) is true. Returns End() if such pointer does not exist.
Definition at line 1722 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator pointing to the first object x in this reference array such that f( const T& x ) is true. Returns End() if such pointer does not exist.
Definition at line 1711 of file ReferenceArray.h.
|
inline |
Returns a non-cryptographic hash value computed for this reference array. This function is a synonym for Hash64().
Definition at line 2339 of file ReferenceArray.h.
References pcl::Hash64().
|
inline |
Returns a 32-bit non-cryptographic hash value computed for this reference array.
This function calls pcl::Hash32() for the internal array of pointers, not for the pointed objects.
The seed parameter can be used to generate repeatable hash values. It can also be set to a random value in compromised environments.
Definition at line 2330 of file ReferenceArray.h.
|
inline |
Returns a 64-bit non-cryptographic hash value computed for this reference array.
This function calls pcl::Hash64() for the internal array of pointers, not for the pointed objects.
The seed parameter can be used to generate repeatable hash values. It can also be set to a random value in compromised environments.
Definition at line 2315 of file ReferenceArray.h.
|
inline |
Causes this reference array to store the sequence of pointers defined by the range [i,j) of iterators. The previously referenced data structure is dereferenced and deallocated if it becomes unreferenced.
Definition at line 1188 of file ReferenceArray.h.
|
inline |
Inserts a copy of the sequence of pointers contained by the reference array x at the specified location i in this reference array.
The insertion point i is constrained to stay in the range [Begin(),End()) of existing array elements. The source array x can safely be a reference to this array.
Returns an iterator pointing to the first newly created array element, or i if x is empty.
Definition at line 1220 of file ReferenceArray.h.
|
inline |
Inserts a contiguous sequence of n non-null pointers equal to p at the specified location i.
If p is nullptr
, this function has no effect. The insertion point i is constrained to stay in the range [Begin(),End()) of existing array elements.
Returns an iterator pointing to the first inserted array element, or i if n is zero or p is nullptr
.
Definition at line 1236 of file ReferenceArray.h.
|
inline |
Inserts a copy of the sequence of pointers defined by the range [p,q) of forward iterators at the specified location i in this reference array.
If the range [p,q) contains null pointers, these are ignored and not inserted in this array. The insertion point i is constrained to stay in the range [Begin(),End()) of existing array elements.
Returns an iterator pointing to the first inserted array element, or i if q <= p or no element in [p,q) is a non-null pointer.
Definition at line 1257 of file ReferenceArray.h.
|
inline |
Returns true iff this reference array is an alias of the array x.
Two objects are aliases if both share the same data. Two reference containers are aliases if they share a unique set of object pointers.
Definition at line 664 of file ReferenceArray.h.
|
inline |
Returns true iff this reference array is empty.
Definition at line 744 of file ReferenceArray.h.
Referenced by pcl::AbstractImage::RunThreads().
|
inline |
Returns true iff this reference array uniquely references its contained array of pointers to objects.
Definition at line 653 of file ReferenceArray.h.
|
inline |
Returns true only if this reference array is valid. A reference array is valid if it references an internal structure with an array of pointers, even if it is an empty array.
In general, all ReferenceArray objects are valid with only two exceptions:
An invalid array object cannot be used and should be destroyed immediately. Invalid arrays are always destroyed automatically during move construction and move assignment operations.
Definition at line 736 of file ReferenceArray.h.
|
inline |
Returns a reference to the last object in this reference array. This function should never be called for an empty array.
Definition at line 994 of file ReferenceArray.h.
|
inline |
Returns a reference to the last unmodifiable object in this reference array. This function should never be called for an empty array.
Definition at line 1003 of file ReferenceArray.h.
|
inline |
Returns a mutable iterator pointing to the last object x in this reference array such that f( const T& x ) is true. Returns End() if such pointer does not exist.
Definition at line 1744 of file ReferenceArray.h.
|
inline |
Returns an immutable iterator pointing to the last object x in this reference array such that f( const T& x ) is true. Returns End() if such pointer does not exist.
Definition at line 1733 of file ReferenceArray.h.
|
inline |
Returns the length of this reference array.
Definition at line 694 of file ReferenceArray.h.
Referenced by pcl::operator==(), and pcl::AbstractImage::RunThreads().
|
inline |
Returns the minimum legal index in this array (always zero). For empty arrays, this function returns a meaningless value.
Definition at line 753 of file ReferenceArray.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns a mutable iterator pointing to the same array element as the specified immutable iterator i.
Definition at line 811 of file ReferenceArray.h.
|
inline |
Returns a reference to the first object in this reference array.
Definition at line 837 of file ReferenceArray.h.
|
inline |
Returns a reference to the unmodifiable first object in this reference array.
Definition at line 846 of file ReferenceArray.h.
|
inline |
Copy assignment operator.
Causes this reference array to reference the same set of objects as another array x. Returns a reference to this object.
Definition at line 1077 of file ReferenceArray.h.
|
inline |
Move assignment operator. Returns a reference to this object.
Definition at line 1100 of file ReferenceArray.h.
|
inline |
Returns a reference to the object at the specified array index i. No bounds checking is performed.
Definition at line 820 of file ReferenceArray.h.
|
inline |
Returns a reference to the immutable object at the specified array index i. No bounds checking is performed.
Definition at line 829 of file ReferenceArray.h.
|
inline |
Inserts a copy of the sequence of pointers contained by the reference array x at the beginning of this reference array.
Definition at line 1308 of file ReferenceArray.h.
|
inline |
Inserts a contiguous sequence of n pointers equal to p at the beginning of this indirect array.
If p is nullptr
, this function has no effect.
Definition at line 1319 of file ReferenceArray.h.
|
inline |
Inserts a copy of the sequence of pointers defined by the range [p,q) of forward iterators at the beginning of this indirect array.
If the range [p,q) contains null pointers, these are ignored and not inserted in this array.
Definition at line 1335 of file ReferenceArray.h.
|
inline |
Releases the set of pointers contained by this reference array.
This member function returns a pointer to the internal block of pointers stored in this object, after ensuring that it is uniquely referenced. If the array is empty, this function may return the null pointer.
Before returning, this member function empties this array without deallocating its contained data. The caller is then responsible for deallocating the returned block when it is no longer required.
Definition at line 1204 of file ReferenceArray.h.
|
inline |
Removes all existing pointers whose pointed objects are equal to the specified value v in this reference array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1459 of file ReferenceArray.h.
|
inline |
Removes every pointer x in this reference array such that the binary predicate p( *x, v ) is true.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1472 of file ReferenceArray.h.
|
inline |
Removes a sequence of contiguous pointers in the range [i,j) of this reference array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1386 of file ReferenceArray.h.
|
inline |
Removes a sequence of n contiguous pointers starting at the specified location i in this reference array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1374 of file ReferenceArray.h.
|
inline |
Removes a contiguous leading sequence of n existing pointers from this reference array. This operation is equivalent to:
If the specified count n is greater than or equal to the length of this array, this function calls Clear() to yield an empty array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1403 of file ReferenceArray.h.
|
inline |
Removes a contiguous trailing sequence of n existing pointers from this reference array. This operation is equivalent to:
If the specified count n is greater than or equal to the length of this array, this function calls Clear() to yield an empty array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1420 of file ReferenceArray.h.
|
inline |
Removes all contained pointers equal to p in this reference array.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1483 of file ReferenceArray.h.
|
inline |
Replaces a sequence of contiguous pointers defined by the range [i,j) of iterators in this array by the pointers stored in a reference array x.
If the starting iterator i is located at or after the end of this array, or if j precedes i, this function does nothing. Otherwise the range [i,j) is constrained to stay in the range [Begin(),End()) of existing array elements.
Returns an iterator pointing to the first replaced array element, i if no elements are replaced, or a null iterator if the resulting array is empty.
Definition at line 1603 of file ReferenceArray.h.
|
inline |
Replaces a sequence of contiguous pointers defined by the range [i,j) in this reference array by n copies of the specified non-null pointer p.
If p is nullptr
, this function removes the subset [i,j) from this array, as if n = 0 had been specified.
Definition at line 1616 of file ReferenceArray.h.
|
inline |
Replaces a sequence of contiguous pointers defined by the range [i,j) in this reference array by the sequence of pointers in the range [p,q) of forward iterators.
If the range [p,q) contains null pointers, these are ignored and not inserted in this array. If the starting iterator i is located at or after the end of this array, or if j precedes i, this function does nothing. Otherwise the range [i,j) is constrained to stay in the range [Begin(),End()) of existing array elements.
Returns an iterator pointing to the first replaced array element, i if no elements are replaced, or a null iterator if the resulting array is empty.
Definition at line 1639 of file ReferenceArray.h.
References pcl::IndirectArray< T, A >::Append().
|
inline |
Ensures that this reference array has enough capacity to store n pointers.
After calling this member function with n > 0, this object is guaranteed to uniquely reference its array data.
Definition at line 1655 of file ReferenceArray.h.
|
inline |
#
Definition at line 1851 of file ReferenceArray.h.
|
inline |
Returns a mutable reverse iterator located at the reverse beginning of this reference array.
The reverse beginning corresponds to the last object in the array.
Definition at line 905 of file ReferenceArray.h.
|
inline |
Returns an immutable reverse iterator located at the reverse beginning of this reference array.
The reverse beginning corresponds to the last object in the array.
Definition at line 916 of file ReferenceArray.h.
|
inline |
Returns a mutable reverse iterator located at the reverse end of this reference array.
The reverse end corresponds to a (nonexistent) object immediately before the first object in the array.
Definition at line 940 of file ReferenceArray.h.
|
inline |
Returns an immutable reverse iterator located at the reverse end of this reference array.
The reverse end corresponds to a (nonexistent) object immediately before the first object in the array.
Definition at line 953 of file ReferenceArray.h.
|
inline |
#
Definition at line 1858 of file ReferenceArray.h.
|
inline |
#
Definition at line 1886 of file ReferenceArray.h.
|
inline |
#
Definition at line 1879 of file ReferenceArray.h.
|
inline |
#
Definition at line 1916 of file ReferenceArray.h.
|
inline |
#
Definition at line 1908 of file ReferenceArray.h.
|
inline |
#
Definition at line 1900 of file ReferenceArray.h.
|
inline |
#
Definition at line 1893 of file ReferenceArray.h.
|
inline |
#
Definition at line 1930 of file ReferenceArray.h.
|
inline |
#
Definition at line 1923 of file ReferenceArray.h.
|
inline |
#
Definition at line 1960 of file ReferenceArray.h.
|
inline |
#
Definition at line 1952 of file ReferenceArray.h.
|
inline |
#
Definition at line 1944 of file ReferenceArray.h.
|
inline |
#
Definition at line 1937 of file ReferenceArray.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
#
Definition at line 2072 of file ReferenceArray.h.
|
inline |
#
Definition at line 2064 of file ReferenceArray.h.
|
inline |
#
Definition at line 2088 of file ReferenceArray.h.
|
inline |
#
Definition at line 2080 of file ReferenceArray.h.
|
inline |
#
Definition at line 2008 of file ReferenceArray.h.
|
inline |
#
Definition at line 2000 of file ReferenceArray.h.
|
inline |
#
Definition at line 2024 of file ReferenceArray.h.
|
inline |
#
Definition at line 2016 of file ReferenceArray.h.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets a new allocator object for this reference array.
Definition at line 778 of file ReferenceArray.h.
|
inline |
#
Definition at line 1865 of file ReferenceArray.h.
|
inline |
#
Definition at line 1872 of file ReferenceArray.h.
|
inline |
Removes a contiguous trailing sequence of n existing pointers from this reference array. This function is a synonym for RemoveLast().
Definition at line 1447 of file ReferenceArray.h.
|
inline |
Returns the total number of bytes required to store the array of object pointers contained by this reference array.
Definition at line 686 of file ReferenceArray.h.
|
inline |
|
inline |
|
inline |
Causes this reference array to allocate the exact required memory space to store its contained pointers.
If the array has excess capacity, a new copy of its contained pointers is generated and stored in a newly allocated memory block that fits them exactly, then the previous memory block is deallocated.
If the array is empty, calling this function is equivalent to Clear(). Note that in this case a previously allocated memory block (by a call to Reserve()) may also be deallocated.
Definition at line 1672 of file ReferenceArray.h.
|
inline |
Generates a comma-separated sequence of string tokens. Returns a reference to the target string s.
This function is equivalent to:
Definition at line 2258 of file ReferenceArray.h.
|
inline |
Generates a newline-separated sequence of string tokens. Returns a reference to the target string s.
This function is equivalent to:
Definition at line 2300 of file ReferenceArray.h.
|
inline |
Generates a sequence of string tokens separated with the specified separator string. Returns a reference to the target string s.
For each element in this array, this function appends a string representation (known as a token) to the target string s. If the array contains more than one element, successive tokens are separated with the specified separator.
The string type S must have a meaningful Append() member function and type conversion semantics to transform an array element to a string. The standard String and IsoString PCL classes provide the required functionality for most scalar types, although it is probably better to use String::ToSeparated() and IsoString::ToSeparated() instead of calling these functions directly.
Definition at line 2189 of file ReferenceArray.h.
|
inline |
Generates a sequence of string tokens separated with the specified separator string by calling an append function. Returns a reference to the target string s.
For each element x in this array, this function appends a string representation (known as a token) to the target string s by calling the append function:
If the array contains more than one element, successive tokens are separated by calling:
The string type S must have type conversion semantics to transform an array element to a string. The standard String and IsoString PCL classes provide the required functionality for most scalar types, although it is probably easier to use String::ToSeparated() and IsoString::ToSeparated() instead of calling these functions directly.
Definition at line 2229 of file ReferenceArray.h.
|
inline |
Generates a space-separated sequence of string tokens. Returns a reference to the target string s.
This function is equivalent to:
Definition at line 2272 of file ReferenceArray.h.
|
inline |
Generates a tabulator-separated sequence of string tokens. Returns a reference to the target string s.
This function is equivalent to:
Definition at line 2286 of file ReferenceArray.h.
|
inline |
Transfers data from another reference array x to this object.
Decrements the reference counter of the current array data, and destroys it if it becomes unreferenced.
Transfers source array data to this object, leaving empty and invalid the source object x.
Definition at line 1129 of file ReferenceArray.h.
|
inline |
Transfers data from another reference array x to this object.
Decrements the reference counter of the current array data, and destroys it if it becomes unreferenced.
Transfers source array data to this object, leaving empty and invalid the source object x.
Definition at line 1115 of file ReferenceArray.h.
|
inline |
Removes a trailing sequence of contiguous pointers from the specified iterator of this reference array. This operation is equivalent to:
If the specified iterator is located at or after the end of this array, this function does nothing. Otherwise the iterator is constrained to stay in the range [Begin(),End()) of existing array elements.
Only pointers are removed by this function; the pointed objects are not affected in any way.
Definition at line 1438 of file ReferenceArray.h.
|
inline |
Ensures that the specified iterator represents a pointer stored in a uniquely referenced reference array. If necessary, this function builds a new, uniquely referenced copy of the underlying indirect array by calling EnsureUnique().
If the iterator i is changed, it is guaranteed to point to the object at the same array index it was pointing to before calling this function.
Definition at line 1017 of file ReferenceArray.h.
|
inline |
Ensures that the specified iterators represents a pointer stored in a uniquely referenced reference array. If necessary, this function builds a new, uniquely referenced copy of the underlying indirect array by calling EnsureUnique().
If the iterators i and j are changed, they are guaranteed to point to the objects at the same array indices they were pointing to before calling this function.
Definition at line 1032 of file ReferenceArray.h.
|
inline |
Returns the maximum legal index in this array. It is equal to Length()-1. For empty arrays, this function returns a meaningless value.
Definition at line 762 of file ReferenceArray.h.
|
friend |
Exchanges two reference arrays x1 and x2.
Definition at line 2167 of file ReferenceArray.h.