|
| | SmallVectorTemplateBase (size_t Size) |
| |
| void | grow (size_t MinSize=0) |
| |
| const T * | reserveForParamAndGetAddress (const T &Elt, size_t N=1) |
| |
| T * | reserveForParamAndGetAddress (T &Elt, size_t N=1) |
| |
| void | growAndAssign (size_t NumElts, T Elt) |
| |
| template<typename... ArgTypes> |
| T & | growAndEmplaceBack (ArgTypes &&... Args) |
| |
| | SmallVectorTemplateCommon (size_t Size) |
| |
| void | grow_pod (size_t MinSize, size_t TSize) |
| |
| bool | isSmall () const |
| |
| void | resetToSmall () |
| | Put this vector in a state of being small. More...
|
| |
| bool | isReferenceToRange (const void *V, const void *First, const void *Last) const |
| | Return true if V is an internal reference to the given range. More...
|
| |
| bool | isReferenceToStorage (const void *V) const |
| | Return true if V is an internal reference to this vector. More...
|
| |
| bool | isRangeInStorage (const void *First, const void *Last) const |
| |
| bool | isSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| |
| void | assertSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
| | Check whether Elt will be invalidated by resizing the vector to NewSize. More...
|
| |
| void | assertSafeToAdd (const void *Elt, size_t N=1) |
| |
| void | assertSafeToReferenceAfterClear (const T *From, const T *To) |
| | Check whether any part of the range will be invalidated by clearing. More...
|
| |
| template<class ItTy , std::enable_if_t< !std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> |
| void | assertSafeToReferenceAfterClear (ItTy, ItTy) |
| |
| void | assertSafeToAddRange (const T *From, const T *To) |
| | Check whether any part of the range will be invalidated by growing. More...
|
| |
| template<class ItTy , std::enable_if_t< !std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> |
| void | assertSafeToAddRange (ItTy, ItTy) |
| |
| | SmallVectorBase ()=delete |
| |
| | SmallVectorBase (void *FirstEl, size_t TotalCapacity) |
| |
| void * | mallocForGrow (size_t MinSize, size_t TSize, size_t &NewCapacity) |
| |
| void | grow_pod (void *FirstEl, size_t MinSize, size_t TSize) |
| |
| void | set_size (size_t N) |
| |
|
| static void | destroy_range (T *, T *) |
| |
| template<typename It1 , typename It2 > |
| static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| |
| template<typename It1 , typename It2 > |
| static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
| |
| template<typename T1 , typename T2 > |
| static void | uninitialized_copy (T1 *I, T1 *E, T2 *Dest, std::enable_if_t< std::is_same< typename std::remove_const< T1 >::type, T2 >::value > *=nullptr) |
| |
| static ValueParamT | forward_value_param (ValueParamT V) |
| | Copy V or return a reference, depending on ValueParamT. More...
|
| |
| template<class U > |
| static const T * | reserveForParamAndGetAddressImpl (U *This, const T &Elt, size_t N) |
| |
| static constexpr size_t | SizeTypeMax () |
| | The maximum value of the Size_T used. More...
|
| |
template<typename T>
class open3d::core::SmallVectorTemplateBase< T, true >
SmallVectorTemplateBase<TriviallyCopyable = true> - This is where we put method implementations that are designed to work with trivially copyable T's. This allows using memcpy in place of copy/move construction and skipping destruction.