nros C++ API
Lightweight ROS 2 client for embedded real-time systems (C++ headers)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
nros::FixedSequence< T, N > Struct Template Reference

#include <fixed_sequence.hpp>

Public Member Functions

Tbegin ()
 Iterator support.
 
const Tbegin () const
 
Tend ()
 
const Tend () const
 
 FixedSequence ()
 Default constructor — empty sequence.
 
uint32_t length () const
 Current number of elements.
 
Toperator[] (size_t i)
 Access element by index (no bounds check).
 
const Toperator[] (size_t i) const
 
bool push_back (const T &val)
 Append an element. Returns false if the sequence is full.
 

Static Public Member Functions

static constexpr size_t max_size ()
 Maximum capacity.
 

Public Attributes

T data [N]
 
uint32_t size
 

Detailed Description

template<typename T, size_t N>
struct nros::FixedSequence< T, N >

Fixed-capacity sequence container.

Wraps a uint32_t size + T data[N] pair with push/access methods. Memory layout is identical to struct { uint32_t size; T data[N]; }, so the type is C-ABI compatible with the runtime.

Usage:

values.push_back(42);
values.push_back(7);
for (uint32_t i = 0; i < values.length(); ++i) {
printf("values[%u] = %d\n", i, values[i]);
}
Definition future.hpp:40

Constructor & Destructor Documentation

◆ FixedSequence()

template<typename T , size_t N>
nros::FixedSequence< T, N >::FixedSequence ( )
inline

Default constructor — empty sequence.

Member Function Documentation

◆ begin() [1/2]

template<typename T , size_t N>
T * nros::FixedSequence< T, N >::begin ( )
inline

Iterator support.

◆ begin() [2/2]

template<typename T , size_t N>
const T * nros::FixedSequence< T, N >::begin ( ) const
inline

◆ end() [1/2]

template<typename T , size_t N>
T * nros::FixedSequence< T, N >::end ( )
inline

◆ end() [2/2]

template<typename T , size_t N>
const T * nros::FixedSequence< T, N >::end ( ) const
inline

◆ length()

template<typename T , size_t N>
uint32_t nros::FixedSequence< T, N >::length ( ) const
inline

Current number of elements.

◆ max_size()

template<typename T , size_t N>
static constexpr size_t nros::FixedSequence< T, N >::max_size ( )
inlinestaticconstexpr

Maximum capacity.

◆ operator[]() [1/2]

template<typename T , size_t N>
T & nros::FixedSequence< T, N >::operator[] ( size_t  i)
inline

Access element by index (no bounds check).

◆ operator[]() [2/2]

template<typename T , size_t N>
const T & nros::FixedSequence< T, N >::operator[] ( size_t  i) const
inline

◆ push_back()

template<typename T , size_t N>
bool nros::FixedSequence< T, N >::push_back ( const T val)
inline

Append an element. Returns false if the sequence is full.

Member Data Documentation

◆ data

template<typename T , size_t N>
T nros::FixedSequence< T, N >::data[N]

◆ size

template<typename T , size_t N>
uint32_t nros::FixedSequence< T, N >::size

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