Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
open3d::core::SizeVector Class Reference

#include <SizeVector.h>

Inheritance diagram for open3d::core::SizeVector:
open3d::core::SmallVector< int64_t, 4 > open3d::core::SmallVectorImpl< T > open3d::core::SmallVectorStorage< T, N > open3d::core::SmallVectorTemplateBase< T, bool > open3d::core::SmallVectorTemplateCommon< T, typename > open3d::core::SmallVectorBase< SmallVectorSizeType< T > >

Public Types

using super_t = SmallVector<int64_t, 4>
Public Types inherited from open3d::core::SmallVectorImpl< T >
using iterator = typename SuperClass::iterator
using const_iterator = typename SuperClass::const_iterator
using reference = typename SuperClass::reference
using size_type = typename SuperClass::size_type
Public Types inherited from open3d::core::SmallVectorTemplateCommon< T, typename >
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

 SizeVector ()
 SizeVector (const std::initializer_list< int64_t > &dim_sizes)
 SizeVector (const std::vector< int64_t > &dim_sizes)
 SizeVector (const SizeVector &other)
 SizeVector (int64_t n, int64_t initial_value=0)
template<class InputIterator>
 SizeVector (InputIterator first, InputIterator last)
SizeVectoroperator= (const SizeVector &v)
SizeVectoroperator= (SizeVector &&v)
int64_t NumElements () const
int64_t GetLength () const
std::string ToString () const
void AssertCompatible (const DynamicSizeVector &dsv, const std::string msg="") const
bool IsCompatible (const DynamicSizeVector &dsv) const
 operator std::vector< int64_t > () const
void shrink_to_fit ()
Public Member Functions inherited from open3d::core::SmallVector< int64_t, 4 >
 SmallVector ()
 ~SmallVector ()
 SmallVector (size_t Size, const int64_t &Value=int64_t())
 SmallVector (ItTy S, ItTy E)
 SmallVector (const iterator_range< RangeTy > &R)
 SmallVector (std::initializer_list< int64_t > IL)
 SmallVector (const SmallVector &RHS)
SmallVectoroperator= (const SmallVector &RHS)
 SmallVector (SmallVector &&RHS)
 SmallVector (SmallVectorImpl< int64_t > &&RHS)
SmallVectoroperator= (SmallVector &&RHS)
SmallVectoroperator= (SmallVectorImpl< int64_t > &&RHS)
SmallVectoroperator= (std::initializer_list< int64_t > IL)
Public Member Functions inherited from open3d::core::SmallVectorImpl< T >
 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.
void truncate (size_type N)
 Like resize, but requires that N is less than size().
void resize (size_type N, ValueParamT NV)
void reserve (size_type N)
void pop_back_n (size_type NumItems)
LLVM_NODISCARDpop_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.
void append (size_type NumInputs, ValueParamT Elt)
 Append NumInputs copies of Elt to the end.
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)
SmallVectorImploperator= (const SmallVectorImpl &RHS)
SmallVectorImploperator= (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
Public Member Functions inherited from open3d::core::SmallVectorTemplateBase< T, bool >
void push_back (const T &Elt)
void push_back (T &&Elt)
void pop_back ()
Public Member Functions inherited from open3d::core::SmallVectorTemplateCommon< T, typename >
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().
const_pointer data () const
 Return a pointer to the vector's buffer, even if empty().
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 capacity () const
LLVM_NODISCARD bool empty () const
size_t size () const
Public Member Functions inherited from open3d::core::SmallVectorBase< SmallVectorSizeType< T > >
size_t size () const
size_t capacity () const
LLVM_NODISCARD bool empty () const

Additional Inherited Members

Protected Types inherited from open3d::core::SmallVectorImpl< T >
using ValueParamT = typename SuperClass::ValueParamT
Protected Types inherited from open3d::core::SmallVectorTemplateBase< T, bool >
using ValueParamT = const T &
Protected Member Functions inherited from open3d::core::SmallVectorImpl< T >
 SmallVectorImpl (unsigned N)
void assignRemote (SmallVectorImpl &&RHS)
Protected Member Functions inherited from open3d::core::SmallVectorTemplateBase< T, bool >
 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().
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)
Protected Member Functions inherited from open3d::core::SmallVectorTemplateCommon< T, typename >
 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.
bool isReferenceToRange (const void *V, const void *First, const void *Last) const
 Return true if V is an internal reference to the given range.
bool isReferenceToStorage (const void *V) const
 Return true if V is an internal reference to this vector.
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.
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.
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.
template<class ItTy, std::enable_if_t< !std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false>
void assertSafeToAddRange (ItTy, ItTy)
Protected Member Functions inherited from open3d::core::SmallVectorBase< SmallVectorSizeType< T > >
 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 Protected Member Functions inherited from open3d::core::SmallVectorTemplateBase< T, bool >
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)
Static Protected Member Functions inherited from open3d::core::SmallVectorTemplateCommon< T, typename >
template<class U>
static const T * reserveForParamAndGetAddressImpl (U *This, const T &Elt, size_t N)
Static Protected Member Functions inherited from open3d::core::SmallVectorBase< SmallVectorSizeType< T > >
static constexpr size_t SizeTypeMax ()
 The maximum value of the Size_T used.
Protected Attributes inherited from open3d::core::SmallVectorBase< SmallVectorSizeType< T > >
void * BeginX
SmallVectorSizeType< T > Size
SmallVectorSizeType< T > Capacity
Static Protected Attributes inherited from open3d::core::SmallVectorTemplateBase< T, bool >
static constexpr bool TakesParamByValue = false

Detailed Description

SizeVector is a SmallVector of int64_t, typically used in Tensor shape and strides. Dimensions up to size 4 are stored on the stack, and larger vectors are stored on the heap automatically. A signed int64_t type is chosen to allow negative strides.

Member Typedef Documentation

◆ super_t

Constructor & Destructor Documentation

◆ SizeVector() [1/6]

open3d::core::SizeVector::SizeVector ( )
inline

◆ SizeVector() [2/6]

open3d::core::SizeVector::SizeVector ( const std::initializer_list< int64_t > & dim_sizes)

◆ SizeVector() [3/6]

open3d::core::SizeVector::SizeVector ( const std::vector< int64_t > & dim_sizes)

◆ SizeVector() [4/6]

open3d::core::SizeVector::SizeVector ( const SizeVector & other)

◆ SizeVector() [5/6]

open3d::core::SizeVector::SizeVector ( int64_t n,
int64_t initial_value = 0 )
explicit

◆ SizeVector() [6/6]

template<class InputIterator>
open3d::core::SizeVector::SizeVector ( InputIterator first,
InputIterator last )
inline

Member Function Documentation

◆ AssertCompatible()

void open3d::core::SizeVector::AssertCompatible ( const DynamicSizeVector & dsv,
const std::string msg = "" ) const

◆ GetLength()

int64_t open3d::core::SizeVector::GetLength ( ) const

◆ IsCompatible()

bool open3d::core::SizeVector::IsCompatible ( const DynamicSizeVector & dsv) const

◆ NumElements()

int64_t open3d::core::SizeVector::NumElements ( ) const

◆ operator std::vector< int64_t >()

open3d::core::SizeVector::operator std::vector< int64_t > ( ) const
inline

◆ operator=() [1/2]

SizeVector & open3d::core::SizeVector::operator= ( const SizeVector & v)

◆ operator=() [2/2]

SizeVector & open3d::core::SizeVector::operator= ( SizeVector && v)

◆ shrink_to_fit()

void open3d::core::SizeVector::shrink_to_fit ( )
inline

◆ ToString()

std::string open3d::core::SizeVector::ToString ( ) const

The documentation for this class was generated from the following files: