Open3D (C++ API)  0.18.0+5c982c7
Public Types | Public Member Functions | Friends
open3d::core::StdAllocator< T > Class Template Reference

#include <StdAllocator.h>

Public Types

using value_type = T
 T. More...
 

Public Member Functions

 StdAllocator ()=default
 Default constructor. More...
 
 StdAllocator (int device_id)
 Constructor from device. More...
 
 StdAllocator (const StdAllocator &)=default
 Default copy constructor. More...
 
StdAllocatoroperator= (const StdAllocator &)=default
 Default copy assignment operator. More...
 
 StdAllocator (StdAllocator &&)=default
 Default move constructor. More...
 
StdAllocatoroperator= (StdAllocator &&)=default
 Default move assignment operator. More...
 
template<typename U >
 StdAllocator (const StdAllocator< U > &other)
 Rebind copy constructor. More...
 
T * allocate (std::size_t n)
 Allocates memory of size n. More...
 
void deallocate (T *p, std::size_t n)
 Deallocates memory from pointer p of size n . More...
 
bool operator== (const StdAllocator &other) const
 Returns true if the instances are equal, false otherwise. More...
 
bool operator!= (const StdAllocator &other) const
 Returns true if the instances are not equal, false otherwise. More...
 
int GetDeviceID () const
 Returns the device on which memory is allocated. More...
 

Friends

template<typename T2 >
class StdAllocator
 

Detailed Description

template<typename T>
class open3d::core::StdAllocator< T >

Class satisfying the Allocator requirements defined by the C++ standard. This bridge makes the MemoryManager interface accessible to all classes and containers that use the standard Allocator interface.

This is particularly useful to allocate (potentially cached) GPU memory or different types of memory depending on the provided device.

Member Typedef Documentation

◆ value_type

template<typename T >
using open3d::core::StdAllocator< T >::value_type = T

T.

Constructor & Destructor Documentation

◆ StdAllocator() [1/5]

template<typename T >
open3d::core::StdAllocator< T >::StdAllocator ( )
default

Default constructor.

◆ StdAllocator() [2/5]

template<typename T >
open3d::core::StdAllocator< T >::StdAllocator ( int  device_id)
inlineexplicit

Constructor from device.

◆ StdAllocator() [3/5]

template<typename T >
open3d::core::StdAllocator< T >::StdAllocator ( const StdAllocator< T > &  )
default

Default copy constructor.

◆ StdAllocator() [4/5]

template<typename T >
open3d::core::StdAllocator< T >::StdAllocator ( StdAllocator< T > &&  )
default

Default move constructor.

◆ StdAllocator() [5/5]

template<typename T >
template<typename U >
open3d::core::StdAllocator< T >::StdAllocator ( const StdAllocator< U > &  other)
inline

Rebind copy constructor.

Member Function Documentation

◆ allocate()

template<typename T >
T* open3d::core::StdAllocator< T >::allocate ( std::size_t  n)
inline

Allocates memory of size n.

◆ deallocate()

template<typename T >
void open3d::core::StdAllocator< T >::deallocate ( T *  p,
std::size_t  n 
)
inline

Deallocates memory from pointer p of size n .

◆ GetDeviceID()

template<typename T >
int open3d::core::StdAllocator< T >::GetDeviceID ( ) const
inline

Returns the device on which memory is allocated.

◆ operator!=()

template<typename T >
bool open3d::core::StdAllocator< T >::operator!= ( const StdAllocator< T > &  other) const
inline

Returns true if the instances are not equal, false otherwise.

◆ operator=() [1/2]

template<typename T >
StdAllocator& open3d::core::StdAllocator< T >::operator= ( const StdAllocator< T > &  )
default

Default copy assignment operator.

◆ operator=() [2/2]

template<typename T >
StdAllocator& open3d::core::StdAllocator< T >::operator= ( StdAllocator< T > &&  )
default

Default move assignment operator.

◆ operator==()

template<typename T >
bool open3d::core::StdAllocator< T >::operator== ( const StdAllocator< T > &  other) const
inline

Returns true if the instances are equal, false otherwise.

Friends And Related Function Documentation

◆ StdAllocator

template<typename T >
template<typename T2 >
friend class StdAllocator
friend

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