Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Static Private Member Functions | List of all members
planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION > Class Template Reference

#include <blockmem_gridmap.h>

Inheritance diagram for planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >:
Inheritance graph
[legend]

Public Member Functions

 BlockMemGridmap (const CyclicVecInt< DIM, NONCYCLIC > &size_)
 
 BlockMemGridmap ()
 
void clear (const T zero)
 
void clear_partially (const T zero, const CyclicVecInt< DIM, NONCYCLIC > &min, const CyclicVecInt< DIM, NONCYCLIC > &max)
 
void clear_positive (const T zero)
 
void copy_partially (const BlockMemGridmapBase< T, DIM, NONCYCLIC > &base, const CyclicVecInt< DIM, NONCYCLIC > &min, const CyclicVecInt< DIM, NONCYCLIC > &max)
 
std::function< void(CyclicVecInt< DIM, NONCYCLIC >, size_t &, size_t &)> getAddressor () const
 
const BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION > & operator= (const BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION > &gm)
 
T & operator[] (const CyclicVecInt< DIM, NONCYCLIC > &pos)
 
const T operator[] (const CyclicVecInt< DIM, NONCYCLIC > &pos) const
 
void reset (const CyclicVecInt< DIM, NONCYCLIC > &size)
 
size_t ser_size () const
 
const CyclicVecInt< DIM, NONCYCLIC > & size () const
 
bool validate (const CyclicVecInt< DIM, NONCYCLIC > &pos, const int tolerance=0) const
 

Protected Member Functions

void block_addr (const CyclicVecInt< DIM, NONCYCLIC > &pos, size_t &baddr, size_t &addr) const
 

Protected Attributes

size_t block_num_
 
size_t block_ser_size_
 
CyclicVecInt< DIM, NONCYCLIC > block_size_
 
std::unique_ptr< T[]> c_
 
dummy_
 
size_t ser_size_
 
CyclicVecInt< DIM, NONCYCLIC > size_
 

Static Protected Attributes

static constexpr size_t block_bit_ = log2Recursive(BLOCK_WIDTH)
 
static constexpr size_t block_bit_mask_ = (1 << block_bit_) - 1
 

Static Private Member Functions

static constexpr bool isPowOf2 (const int v)
 
static constexpr size_t log2Recursive (const size_t v, const size_t depth=0)
 

Detailed Description

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
class planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >

Definition at line 60 of file blockmem_gridmap.h.

Constructor & Destructor Documentation

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::BlockMemGridmap ( const CyclicVecInt< DIM, NONCYCLIC > &  size_)
inlineexplicit

Definition at line 201 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::BlockMemGridmap ( )
inline

Definition at line 206 of file blockmem_gridmap.h.

Member Function Documentation

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_addr ( const CyclicVecInt< DIM, NONCYCLIC > &  pos,
size_t &  baddr,
size_t &  addr 
) const
inlineprotected

Definition at line 87 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::clear ( const T  zero)
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::clear_partially ( const T  zero,
const CyclicVecInt< DIM, NONCYCLIC > &  min,
const CyclicVecInt< DIM, NONCYCLIC > &  max 
)
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::clear_positive ( const T  zero)
inline

Definition at line 159 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::copy_partially ( const BlockMemGridmapBase< T, DIM, NONCYCLIC > &  base,
const CyclicVecInt< DIM, NONCYCLIC > &  min,
const CyclicVecInt< DIM, NONCYCLIC > &  max 
)
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
std::function<void(CyclicVecInt<DIM, NONCYCLIC>, size_t&, size_t&)> planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::getAddressor ( ) const
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
static constexpr bool planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::isPowOf2 ( const int  v)
inlinestaticprivate

Definition at line 63 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
static constexpr size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::log2Recursive ( const size_t  v,
const size_t  depth = 0 
)
inlinestaticprivate

Definition at line 70 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
const BlockMemGridmap<T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION>& planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::operator= ( const BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION > &  gm)
inline

Definition at line 248 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
T& planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::operator[] ( const CyclicVecInt< DIM, NONCYCLIC > &  pos)
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
const T planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::operator[] ( const CyclicVecInt< DIM, NONCYCLIC > &  pos) const
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
void planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::reset ( const CyclicVecInt< DIM, NONCYCLIC > &  size)
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::ser_size ( ) const
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
const CyclicVecInt<DIM, NONCYCLIC>& planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::size ( ) const
inlinevirtual
template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
bool planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::validate ( const CyclicVecInt< DIM, NONCYCLIC > &  pos,
const int  tolerance = 0 
) const
inline

Definition at line 234 of file blockmem_gridmap.h.

Member Data Documentation

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
constexpr size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_bit_ = log2Recursive(BLOCK_WIDTH)
staticprotected

Definition at line 76 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
constexpr size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_bit_mask_ = (1 << block_bit_) - 1
staticprotected

Definition at line 77 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_num_
protected

Definition at line 84 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_ser_size_
protected

Definition at line 83 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
CyclicVecInt<DIM, NONCYCLIC> planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::block_size_
protected

Definition at line 81 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
std::unique_ptr<T[]> planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::c_
protected

Definition at line 79 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
T planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::dummy_
protected

Definition at line 85 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
size_t planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::ser_size_
protected

Definition at line 82 of file blockmem_gridmap.h.

template<class T, int DIM, int NONCYCLIC, int BLOCK_WIDTH = 0x20, bool ENABLE_VALIDATION = false>
CyclicVecInt<DIM, NONCYCLIC> planner_cspace::BlockMemGridmap< T, DIM, NONCYCLIC, BLOCK_WIDTH, ENABLE_VALIDATION >::size_
protected

Definition at line 80 of file blockmem_gridmap.h.


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


planner_cspace
Author(s): Atsushi Watanabe
autogenerated on Wed May 12 2021 02:20:43