g2o
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
g2o::dynamic_aligned_buffer< Type > Struct Template Reference

#include <dynamic_aligned_buffer.hpp>

Public Member Functions

 dynamic_aligned_buffer (size_t size)
 
 ~dynamic_aligned_buffer ()
 
Type * request (size_t n)
 

Private Member Functions

void allocate (size_t size)
 
void free ()
 

Private Attributes

std::size_t m_size
 
Type * m_ptr
 

Detailed Description

template<typename Type>
struct g2o::dynamic_aligned_buffer< Type >

Definition at line 26 of file dynamic_aligned_buffer.hpp.

Constructor & Destructor Documentation

◆ dynamic_aligned_buffer()

template<typename Type >
g2o::dynamic_aligned_buffer< Type >::dynamic_aligned_buffer ( size_t  size)
inlineexplicit

◆ ~dynamic_aligned_buffer()

template<typename Type >
g2o::dynamic_aligned_buffer< Type >::~dynamic_aligned_buffer ( )
inline

Member Function Documentation

◆ allocate()

template<typename Type >
void g2o::dynamic_aligned_buffer< Type >::allocate ( size_t  size)
inlineprivate

Definition at line 43 of file dynamic_aligned_buffer.hpp.

43 {
44 m_ptr = allocate_aligned<Type>(size);
45 if (m_ptr != nullptr) m_size = size;
46 }

References g2o::dynamic_aligned_buffer< Type >::m_ptr, and g2o::dynamic_aligned_buffer< Type >::m_size.

Referenced by g2o::dynamic_aligned_buffer< Type >::dynamic_aligned_buffer().

◆ free()

template<typename Type >
void g2o::dynamic_aligned_buffer< Type >::free ( )
inlineprivate

Definition at line 48 of file dynamic_aligned_buffer.hpp.

48 {
49 if (m_ptr != nullptr) {
50 free_aligned<Type>(m_ptr);
51 m_size = 0;
52 m_ptr = nullptr;
53 }
54 }

References g2o::dynamic_aligned_buffer< Type >::m_ptr, and g2o::dynamic_aligned_buffer< Type >::m_size.

Referenced by g2o::dynamic_aligned_buffer< Type >::~dynamic_aligned_buffer().

◆ request()

template<typename Type >
Type * g2o::dynamic_aligned_buffer< Type >::request ( size_t  n)
inline

Definition at line 33 of file dynamic_aligned_buffer.hpp.

33 {
34 if (n <= m_size) return m_ptr;
35
36 m_ptr = reallocate_aligned<Type>(m_ptr, n, m_size);
37 m_size = m_ptr ? n : 0;
38
39 return m_ptr;
40 }

References g2o::dynamic_aligned_buffer< Type >::m_ptr, and g2o::dynamic_aligned_buffer< Type >::m_size.

Member Data Documentation

◆ m_ptr

template<typename Type >
Type* g2o::dynamic_aligned_buffer< Type >::m_ptr
private

◆ m_size

template<typename Type >
std::size_t g2o::dynamic_aligned_buffer< Type >::m_size
private

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