iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::bb::detail::RawByteStorage< T, Capacity > Class Template Reference

#include <raw_byte_storage.hpp>

Classes

struct  StorageMemoryLayoutMetrics
 

Public Member Functions

constexpr RawByteStorage () noexcept
 
constexpr RawByteStorage (RawByteStorage const &rhs)
 
constexpr RawByteStorage (RawByteStorage &&rhs) noexcept
 
template<uint64_t M, std::enable_if_t<(Capacity > M), bool > = true>
constexpr RawByteStorage (RawByteStorage< T, M > const &rhs)
 
template<uint64_t M, std::enable_if_t<(Capacity > M), bool > = true>
constexpr RawByteStorage (RawByteStorage< T, M > &&rhs) noexcept
 
IOX2_CONSTEXPR_DTOR ~RawByteStorage ()
 
constexpr auto operator= (RawByteStorage const &rhs) -> RawByteStorage &
 
constexpr auto operator= (RawByteStorage &&rhs) noexcept(std::is_nothrow_move_constructible< T >::value &&std::is_nothrow_move_assignable< T >::value) -> RawByteStorage &
 
auto constexpr size () const noexcept -> uint64_t
 
template<typename... Args>
constexpr void emplace_back (Args &&... args)
 
template<typename... Args>
constexpr void emplace_at (uint64_t index, Args &&... args)
 
constexpr void insert_at (uint64_t index, uint64_t count, T const &value)
 
constexpr void erase_at (uint64_t index)
 
constexpr void erase_at (uint64_t begin_index, uint64_t end_index)
 
constexpr void remove_at (uint64_t index, uint64_t range_size)
 
constexpr void shrink_from_back (uint64_t target_size)
 
constexpr void rotate_from_back (uint64_t index_to, uint64_t index_first_from)
 
auto pointer_from_index (uint64_t idx) -> T *
 
auto pointer_from_index (uint64_t idx) const -> T const *
 
constexpr auto static_memory_layout_metrics () noexcept -> StorageMemoryLayoutMetrics
 

Detailed Description

template<typename T, uint64_t Capacity>
class iox2::bb::detail::RawByteStorage< T, Capacity >

A class for storing at most N objects of type T in a contiguous storage. All operations on this class are unchecked.

Definition at line 31 of file raw_byte_storage.hpp.

Constructor & Destructor Documentation

◆ RawByteStorage() [1/5]

template<typename T , uint64_t Capacity>
constexpr iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage ( )
inlineconstexprnoexcept

Definition at line 40 of file raw_byte_storage.hpp.

◆ RawByteStorage() [2/5]

template<typename T , uint64_t Capacity>
constexpr iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage ( RawByteStorage< T, Capacity > const &  rhs)
inlineconstexpr

◆ RawByteStorage() [3/5]

template<typename T , uint64_t Capacity>
constexpr iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage ( RawByteStorage< T, Capacity > &&  rhs)
inlineconstexprnoexcept

Definition at line 53 of file raw_byte_storage.hpp.

◆ RawByteStorage() [4/5]

template<typename T , uint64_t Capacity>
template<uint64_t M, std::enable_if_t<(Capacity > M), bool > = true>
constexpr iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage ( RawByteStorage< T, M > const &  rhs)
inlineconstexpr

◆ RawByteStorage() [5/5]

template<typename T , uint64_t Capacity>
template<uint64_t M, std::enable_if_t<(Capacity > M), bool > = true>
constexpr iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage ( RawByteStorage< T, M > &&  rhs)
inlineconstexprnoexcept

Definition at line 73 of file raw_byte_storage.hpp.

◆ ~RawByteStorage()

template<typename T , uint64_t Capacity>
IOX2_CONSTEXPR_DTOR iox2::bb::detail::RawByteStorage< T, Capacity >::~RawByteStorage ( )
inline

Member Function Documentation

◆ emplace_at()

template<typename T , uint64_t Capacity>
template<typename... Args>
constexpr void iox2::bb::detail::RawByteStorage< T, Capacity >::emplace_at ( uint64_t  index,
Args &&...  args 
)
inlineconstexpr

◆ emplace_back()

◆ erase_at() [1/2]

template<typename T , uint64_t Capacity>
constexpr void iox2::bb::detail::RawByteStorage< T, Capacity >::erase_at ( uint64_t  begin_index,
uint64_t  end_index 
)
inlineconstexpr

◆ erase_at() [2/2]

◆ insert_at()

template<typename T , uint64_t Capacity>
constexpr void iox2::bb::detail::RawByteStorage< T, Capacity >::insert_at ( uint64_t  index,
uint64_t  count,
T const &  value 
)
inlineconstexpr

◆ operator=() [1/2]

template<typename T , uint64_t Capacity>
constexpr auto iox2::bb::detail::RawByteStorage< T, Capacity >::operator= ( RawByteStorage< T, Capacity > &&  rhs) -> RawByteStorage&
inlineconstexprnoexcept

◆ operator=() [2/2]

template<typename T , uint64_t Capacity>
constexpr auto iox2::bb::detail::RawByteStorage< T, Capacity >::operator= ( RawByteStorage< T, Capacity > const &  rhs) -> RawByteStorage&
inlineconstexpr

◆ pointer_from_index() [1/2]

template<typename T , uint64_t Capacity>
auto iox2::bb::detail::RawByteStorage< T, Capacity >::pointer_from_index ( uint64_t  idx) -> T*
inline

Definition at line 187 of file raw_byte_storage.hpp.

Referenced by iox2::bb::StaticVector< T, Capacity >::back_element(), iox2::bb::StaticVector< T, Capacity >::back_element(), iox2::bb::StaticVector< T, Capacity >::UncheckedAccessor::begin(), iox2::bb::StaticVector< T, Capacity >::UncheckedConstAccessor::begin(), iox2::bb::StaticVector< T, Capacity >::UncheckedAccessor::data(), iox2::bb::StaticVector< T, Capacity >::UncheckedConstAccessor::data(), iox2::bb::StaticVector< T, Capacity >::element_at(), iox2::bb::StaticVector< T, Capacity >::element_at(), iox2::bb::detail::RawByteStorage< T, Capacity >::emplace_back(), iox2::bb::StaticVector< T, Capacity >::UncheckedAccessor::end(), iox2::bb::StaticVector< T, Capacity >::UncheckedConstAccessor::end(), iox2::bb::StaticVector< T, Capacity >::front_element(), iox2::bb::StaticVector< T, Capacity >::front_element(), iox2::bb::detail::RawByteStorage< T, Capacity >::operator=(), iox2::bb::detail::RawByteStorage< T, Capacity >::operator=(), iox2::bb::StaticVector< T, Capacity >::UncheckedAccessor::operator[](), iox2::bb::StaticVector< T, Capacity >::UncheckedConstAccessor::operator[](), iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage(), iox2::bb::detail::RawByteStorage< T, Capacity >::RawByteStorage(), iox2::bb::detail::RawByteStorage< T, Capacity >::remove_at(), iox2::bb::detail::RawByteStorage< T, Capacity >::rotate_from_back(), iox2::bb::detail::RawByteStorage< T, Capacity >::shrink_from_back(), and iox2::bb::detail::RawByteStorage< T, Capacity >::~RawByteStorage().

◆ pointer_from_index() [2/2]

template<typename T , uint64_t Capacity>
auto iox2::bb::detail::RawByteStorage< T, Capacity >::pointer_from_index ( uint64_t  idx) const -> T const*
inline

Definition at line 193 of file raw_byte_storage.hpp.

◆ remove_at()

template<typename T , uint64_t Capacity>
constexpr void iox2::bb::detail::RawByteStorage< T, Capacity >::remove_at ( uint64_t  index,
uint64_t  range_size 
)
inlineconstexpr

◆ rotate_from_back()

template<typename T , uint64_t Capacity>
constexpr void iox2::bb::detail::RawByteStorage< T, Capacity >::rotate_from_back ( uint64_t  index_to,
uint64_t  index_first_from 
)
inlineconstexpr

◆ shrink_from_back()

◆ size()

◆ static_memory_layout_metrics()


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