pinocchio  2.7.1
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
static-buffer.hpp
1 //
2 // Copyright (c) 2021 INRIA
3 //
4 
5 #ifndef __pinocchio_serialization_static_buffer_hpp__
6 #define __pinocchio_serialization_static_buffer_hpp__
7 
8 #include <vector>
9 
10 namespace pinocchio
11 {
12  namespace serialization
13  {
14 
16  struct StaticBuffer
17  {
18 
20  explicit StaticBuffer(const size_t n)
21  : m_size(n)
22  {
23  m_data.reserve(n);
24  }
25 
27  size_t size() const
28  {
29  return m_size;
30  }
31 
33  char * data()
34  {
35  return m_data.data();
36  }
37 
39  const char * data() const
40  {
41  return m_data.data();
42  }
43 
48  void resize(const size_t new_size)
49  {
50  m_size = new_size;
51  m_data.reserve(new_size);
52  }
53 
54  protected:
55 
56  size_t m_size;
57  std::vector<char> m_data;
58  };
59 
60  }
61 }
62 
63 #endif // ifndef __pinocchio_serialization_static_buffer_hpp__
pinocchio::serialization::StaticBuffer::StaticBuffer
StaticBuffer(const size_t n)
&#160;
Definition: static-buffer.hpp:20
pinocchio::serialization::StaticBuffer::resize
void resize(const size_t new_size)
Increase the capacity of the vector to a value that's greater or equal to new_size.
Definition: static-buffer.hpp:48
pinocchio::serialization::StaticBuffer
Static buffer with pre-allocated memory.
Definition: static-buffer.hpp:16
pinocchio::serialization::StaticBuffer::data
const char * data() const
Returns the pointer on the data (const version)
Definition: static-buffer.hpp:39
pinocchio::serialization::StaticBuffer::data
char * data()
Returns the pointer on the data.
Definition: static-buffer.hpp:33
pinocchio::serialization::StaticBuffer::size
size_t size() const
Returns the current size of the buffer.
Definition: static-buffer.hpp:27
pinocchio
Main pinocchio namespace.
Definition: treeview.dox:11