sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::details::trivial_copyable_data_access< T, L > Class Template Reference

Data access class for trivial copyable types. More...

#include <trivial_copyable_data_access.hpp>

Public Types

using inner_value_type = T
 
using inner_reference = T&
 
using inner_const_reference = const T&
 
using pointer = inner_value_type*
 
using const_pointer = const inner_value_type*
 
using value_iterator = pointer_iterator<pointer>
 
using const_value_iterator = pointer_iterator<const_pointer>
 

Public Member Functions

 trivial_copyable_data_access (L *layout, size_t data_buffer_index)
 Constructor for trivial_copyable_data_access.
 
constexpr T * data ()
 
constexpr const T * data () const
 
constexpr T & value (size_t i)
 
constexpr const T & value (size_t i) const
 
constexpr buffer_adaptor< T, buffer< uint8_t > & > get_data_buffer ()
 
constexpr void resize_values (size_t new_length, const T &value)
 
constexpr value_iterator insert_value (const_value_iterator pos, T value, size_t count)
 
constexpr value_iterator insert_value (size_t idx, T value, size_t count)
 
template<mpl::iterator_of_type< T > InputIt>
constexpr value_iterator insert_values (const_value_iterator pos, InputIt first, InputIt last)
 
template<mpl::iterator_of_type< T > InputIt>
constexpr value_iterator insert_values (size_t idx, InputIt first, InputIt last)
 
constexpr value_iterator erase_values (const_value_iterator pos, size_t count)
 
constexpr value_iterator erase_values (size_t idx, size_t count)
 

Detailed Description

template<trivial_copyable_type T, typename L>
class sparrow::details::trivial_copyable_data_access< T, L >

Data access class for trivial copyable types.

FOR INTERNAL USE ONLY

Template Parameters
TType of the data.
LType of the layout.

Definition at line 35 of file trivial_copyable_data_access.hpp.

Member Typedef Documentation

◆ const_pointer

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::const_pointer = const inner_value_type*

Definition at line 43 of file trivial_copyable_data_access.hpp.

◆ const_value_iterator

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::const_value_iterator = pointer_iterator<const_pointer>

Definition at line 46 of file trivial_copyable_data_access.hpp.

◆ inner_const_reference

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::inner_const_reference = const T&

Definition at line 41 of file trivial_copyable_data_access.hpp.

◆ inner_reference

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::inner_reference = T&

Definition at line 40 of file trivial_copyable_data_access.hpp.

◆ inner_value_type

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::inner_value_type = T

Definition at line 39 of file trivial_copyable_data_access.hpp.

◆ pointer

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::pointer = inner_value_type*

Definition at line 42 of file trivial_copyable_data_access.hpp.

◆ value_iterator

template<trivial_copyable_type T, typename L>
using sparrow::details::trivial_copyable_data_access< T, L >::value_iterator = pointer_iterator<pointer>

Definition at line 45 of file trivial_copyable_data_access.hpp.

Constructor & Destructor Documentation

◆ trivial_copyable_data_access()

template<trivial_copyable_type T, typename L>
sparrow::details::trivial_copyable_data_access< T, L >::trivial_copyable_data_access ( L * layout,
size_t data_buffer_index )
inline

Constructor for trivial_copyable_data_access.

Parameters
layoutPointer to the layout object.
data_buffer_indexIndex of the data buffer.

Definition at line 53 of file trivial_copyable_data_access.hpp.

Member Function Documentation

◆ data() [1/2]

template<trivial_copyable_type T, typename L>
T * sparrow::details::trivial_copyable_data_access< T, L >::data ( )
inlinenodiscardconstexpr

Definition at line 59 of file trivial_copyable_data_access.hpp.

Here is the caller graph for this function:

◆ data() [2/2]

template<trivial_copyable_type T, typename L>
const T * sparrow::details::trivial_copyable_data_access< T, L >::data ( ) const
inlinenodiscardconstexpr

Definition at line 65 of file trivial_copyable_data_access.hpp.

◆ erase_values() [1/2]

template<trivial_copyable_type T, typename L>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::erase_values ( const_value_iterator pos,
size_t count )
inlineconstexpr

Definition at line 138 of file trivial_copyable_data_access.hpp.

Here is the caller graph for this function:

◆ erase_values() [2/2]

template<trivial_copyable_type T, typename L>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::erase_values ( size_t idx,
size_t count )
inlineconstexpr

Definition at line 155 of file trivial_copyable_data_access.hpp.

◆ get_data_buffer()

template<trivial_copyable_type T, typename L>
buffer_adaptor< T, buffer< uint8_t > & > sparrow::details::trivial_copyable_data_access< T, L >::get_data_buffer ( )
inlinenodiscardconstexpr

Definition at line 83 of file trivial_copyable_data_access.hpp.

Here is the caller graph for this function:

◆ insert_value() [1/2]

template<trivial_copyable_type T, typename L>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::insert_value ( const_value_iterator pos,
T value,
size_t count )
inlineconstexpr

Definition at line 95 of file trivial_copyable_data_access.hpp.

Here is the caller graph for this function:

◆ insert_value() [2/2]

template<trivial_copyable_type T, typename L>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::insert_value ( size_t idx,
T value,
size_t count )
inlineconstexpr

Definition at line 107 of file trivial_copyable_data_access.hpp.

◆ insert_values() [1/2]

template<trivial_copyable_type T, typename L>
template<mpl::iterator_of_type< T > InputIt>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::insert_values ( const_value_iterator pos,
InputIt first,
InputIt last )
inlineconstexpr

Definition at line 117 of file trivial_copyable_data_access.hpp.

Here is the caller graph for this function:

◆ insert_values() [2/2]

template<trivial_copyable_type T, typename L>
template<mpl::iterator_of_type< T > InputIt>
value_iterator sparrow::details::trivial_copyable_data_access< T, L >::insert_values ( size_t idx,
InputIt first,
InputIt last )
inlineconstexpr

Definition at line 130 of file trivial_copyable_data_access.hpp.

◆ resize_values()

template<trivial_copyable_type T, typename L>
void sparrow::details::trivial_copyable_data_access< T, L >::resize_values ( size_t new_length,
const T & value )
inlineconstexpr

Definition at line 89 of file trivial_copyable_data_access.hpp.

◆ value() [1/2]

template<trivial_copyable_type T, typename L>
T & sparrow::details::trivial_copyable_data_access< T, L >::value ( size_t i)
inlinenodiscardconstexpr

Definition at line 71 of file trivial_copyable_data_access.hpp.

◆ value() [2/2]

template<trivial_copyable_type T, typename L>
const T & sparrow::details::trivial_copyable_data_access< T, L >::value ( size_t i) const
inlinenodiscardconstexpr

Definition at line 77 of file trivial_copyable_data_access.hpp.


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