Open3D (C++ API)
0.17.0
|
#include <SmallVector.h>
Public Types | |
using | iterator = typename SuperClass::iterator |
using | const_iterator = typename SuperClass::const_iterator |
using | reference = typename SuperClass::reference |
using | size_type = typename SuperClass::size_type |
![]() | |
using | size_type = size_t |
using | difference_type = ptrdiff_t |
using | value_type = T |
using | iterator = T * |
using | const_iterator = const T * |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | reference = T & |
using | const_reference = const T & |
using | pointer = T * |
using | const_pointer = const T * |
Public Member Functions | |
SmallVectorImpl (const SmallVectorImpl &)=delete | |
~SmallVectorImpl () | |
void | clear () |
void | resize (size_type N) |
void | resize_for_overwrite (size_type N) |
Like resize, but T is POD, the new values won't be initialized. More... | |
void | truncate (size_type N) |
Like resize, but requires that N is less than size(). More... | |
void | resize (size_type N, ValueParamT NV) |
void | reserve (size_type N) |
void | pop_back_n (size_type NumItems) |
LLVM_NODISCARD T | pop_back_val () |
void | swap (SmallVectorImpl &RHS) |
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>> | |
void | append (in_iter in_start, in_iter in_end) |
Add the specified range to the end of the SmallVector. More... | |
void | append (size_type NumInputs, ValueParamT Elt) |
Append NumInputs copies of Elt to the end. More... | |
void | append (std::initializer_list< T > IL) |
void | append (const SmallVectorImpl &RHS) |
void | assign (size_type NumElts, ValueParamT Elt) |
template<typename in_iter , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<in_iter>::iterator_category, std::input_iterator_tag>::value>> | |
void | assign (in_iter in_start, in_iter in_end) |
void | assign (std::initializer_list< T > IL) |
void | assign (const SmallVectorImpl &RHS) |
iterator | erase (const_iterator CI) |
iterator | erase (const_iterator CS, const_iterator CE) |
iterator | insert (iterator I, T &&Elt) |
iterator | insert (iterator I, const T &Elt) |
iterator | insert (iterator I, size_type NumToInsert, ValueParamT Elt) |
template<typename ItTy , typename = std::enable_if_t<std::is_convertible< typename std::iterator_traits<ItTy>::iterator_category, std::input_iterator_tag>::value>> | |
iterator | insert (iterator I, ItTy From, ItTy To) |
void | insert (iterator I, std::initializer_list< T > IL) |
template<typename... ArgTypes> | |
reference | emplace_back (ArgTypes &&... Args) |
SmallVectorImpl & | operator= (const SmallVectorImpl &RHS) |
SmallVectorImpl & | operator= (SmallVectorImpl &&RHS) |
bool | operator== (const SmallVectorImpl &RHS) const |
bool | operator!= (const SmallVectorImpl &RHS) const |
bool | operator< (const SmallVectorImpl &RHS) const |
bool | operator> (const SmallVectorImpl &RHS) const |
bool | operator<= (const SmallVectorImpl &RHS) const |
bool | operator>= (const SmallVectorImpl &RHS) const |
![]() | |
void | push_back (const T &Elt) |
void | push_back (T &&Elt) |
void | pop_back () |
![]() | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
size_type | size_in_bytes () const |
size_type | max_size () const |
size_t | capacity_in_bytes () const |
pointer | data () |
Return a pointer to the vector's buffer, even if empty(). More... | |
const_pointer | data () const |
Return a pointer to the vector's buffer, even if empty(). More... | |
reference | operator[] (size_type idx) |
const_reference | operator[] (size_type idx) const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
![]() | |
size_t | size () const |
size_t | capacity () const |
LLVM_NODISCARD bool | empty () const |
Protected Types | |
using | ValueParamT = typename SuperClass::ValueParamT |
![]() | |
using | ValueParamT = const T & |
Protected Member Functions | |
SmallVectorImpl (unsigned N) | |
void | assignRemote (SmallVectorImpl &&RHS) |
![]() | |
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
T * | mallocForGrow (size_t MinSize, size_t &NewCapacity) |
void | moveElementsForGrow (T *NewElts) |
void | takeAllocationForGrow (T *NewElts, size_t NewCapacity) |
Transfer ownership of the allocation, finishing up grow(). More... | |
const T * | reserveForParamAndGetAddress (const T &Elt, size_t N=1) |
T * | reserveForParamAndGetAddress (T &Elt, size_t N=1) |
void | growAndAssign (size_t NumElts, const 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) |
Additional Inherited Members | |
![]() | |
static void | destroy_range (T *S, T *E) |
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) |
static T && | forward_value_param (T &&V) |
static const T & | forward_value_param (const T &V) |
![]() | |
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... | |
![]() | |
void * | BeginX |
SmallVectorSizeType< T > | Size |
SmallVectorSizeType< T > | Capacity |
![]() | |
static constexpr bool | TakesParamByValue = false |
This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.
using open3d::core::SmallVectorImpl< T >::const_iterator = typename SuperClass::const_iterator |
using open3d::core::SmallVectorImpl< T >::iterator = typename SuperClass::iterator |
using open3d::core::SmallVectorImpl< T >::reference = typename SuperClass::reference |
using open3d::core::SmallVectorImpl< T >::size_type = typename SuperClass::size_type |
|
protected |
|
inlineexplicitprotected |
|
delete |
|
inline |
|
inline |
|
inline |
Add the specified range to the end of the SmallVector.
|
inline |
Append NumInputs
copies of Elt
to the end.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
SmallVectorImpl< T > & open3d::core::SmallVectorImpl< T >::operator= | ( | const SmallVectorImpl< T > & | RHS | ) |
SmallVectorImpl< T > & open3d::core::SmallVectorImpl< T >::operator= | ( | SmallVectorImpl< T > && | RHS | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Like resize, but T is POD, the new values won't be initialized.
void open3d::core::SmallVectorImpl< T >::swap | ( | SmallVectorImpl< T > & | RHS | ) |
|
inline |
Like resize, but requires that N
is less than size().