Voxomap
A C++11 voxel container.
voxomap::SparseIDArray< T, T_Size, T_Container > Class Template Reference

#include <SparseIDArray.hpp>

Inheritance diagram for voxomap::SparseIDArray< T, T_Size, T_Container >:

Additional Inherited Members

- Public Member Functions inherited from voxomap::AbstractSparseIDArray< T, T_Size, std::vector >
uint16_t getNbData () const
 Returns number of datas. More...
 
bool hasData (uint8_t x) const
 Check if there is data inside. More...
 
bool hasData (uint8_t x, uint8_t y) const
 Check if there is data inside. More...
 
bool hasData (uint8_t x, uint8_t y, uint8_t z) const
 Check if data exist. More...
 
T * findData (uint8_t x, uint8_t y, uint8_t z)
 Find data. More...
 
T const * findData (uint8_t x, uint8_t y, uint8_t z) const
 Find data. More...
 
bool addData (uint8_t x, uint8_t y, uint8_t z, T *&data, Args &&... args)
 Add a data, don't update an existing data. More...
 
bool updateData (uint8_t x, uint8_t y, uint8_t z, T *&data, Args &&... args)
 Update an existing data, don't create a new one. More...
 
void putData (uint8_t x, uint8_t y, uint8_t z, T *&data, Args &&... args)
 Add or update a data. More...
 
bool removeData (uint8_t x, uint8_t y, uint8_t z)
 Remove an existing data. More...
 
bool removeData (uint8_t x, uint8_t y, uint8_t z, T *data)
 Remove an existing data. More...
 
void serialize (std::string &str) const
 Serialize the structure. More...
 
size_t unserialize (char const *str, size_t size)
 Unserialize str inside this. More...
 
void shrinkToFit ()
 Requests the sparse array to reduce its capacity to fit its size. More...
 
- Protected Member Functions inherited from voxomap::AbstractSparseIDArray< T, T_Size, std::vector >
 AbstractSparseIDArray ()
 Default constructor. More...
 
 AbstractSparseIDArray (AbstractSparseIDArray const &other)
 Copy constructor. More...
 
uint16_t getId (uint8_t x, uint8_t y, uint8_t z) const
 
void setId (uint8_t x, uint8_t y, uint8_t z, uint16_t id)
 
uint16_t getNewId ()
 
void reallocIds ()
 
void changeId (uint16_t oldId, uint16_t newId)
 
void reset (Type &data)
 
void reset (std::unique_ptr< Type > &data)
 
void reset (std::shared_ptr< Type > &data)
 
void copy (std::vector< T_Data > const &other)
 
void copy (std::vector< std::unique_ptr< T_Data >> const &other)
 
std::enable_if< std::is_trivially_copyable< T_Data >::value >::type serializeContainer (std::string &str, std::vector< T_Data > const &datas) const
 
std::enable_if<!std::is_trivially_copyable< T_Data >::value >::type serializeContainer (std::string &str, std::vector< T_Data > const &datas) const
 
void serializeContainer (std::string &str, std::vector< T_Data * > const &datas) const
 
void serializeContainer (std::string &str, std::vector< std::unique_ptr< T_Data >> const &datas) const
 
void serializeContainer (std::string &str, std::vector< std::shared_ptr< T_Data >> const &datas) const
 
std::enable_if< std::is_trivially_copyable< T_Data >::value >::type serializeData (std::string &str, T_Data const &data) const
 
std::enable_if<!std::is_trivially_copyable< T_Data >::value >::type serializeData (std::string &str, T_Data const &data) const
 
std::enable_if< std::is_trivially_copyable< T_Data >::value, size_t >::type unserializeContainer (char const *str, size_t size, std::vector< T_Data > &datas)
 
std::enable_if<!std::is_trivially_copyable< T_Data >::value, size_t >::type unserializeContainer (char const *str, size_t size, std::vector< T_Data > &datas)
 
size_t unserializeContainer (char const *str, size_t size, std::vector< T_Data * > &datas)
 
size_t unserializeContainer (char const *str, size_t size, std::vector< std::unique_ptr< T_Data >> &datas)
 
size_t unserializeContainer (char const *str, size_t size, std::vector< std::shared_ptr< T_Data >> &datas)
 
std::enable_if< std::is_trivially_copyable< T_Data >::value, size_t >::type unserializeData (char const *str, size_t size, T_Data &data)
 
std::enable_if<!std::is_trivially_copyable< T_Data >::value, size_t >::type unserializeData (char const *str, size_t size, T_Data &data)
 
- Protected Attributes inherited from voxomap::AbstractSparseIDArray< T, T_Size, std::vector >
std::vector< T > _data
 
std::vector< uint16_t > _idFreed
 
std::unique_ptr< uint8_t[]> _ids
 

Detailed Description

template<typename T, uint8_t T_Size, template< class... > class T_Container = std::vector>
class voxomap::SparseIDArray< T, T_Size, T_Container >

Definition at line 218 of file SparseIDArray.hpp.


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