sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::variable_size_binary_reference< L > Class Template Reference

Implementation of reference to inner type used for layout L. More...

#include <variable_size_binary_reference.hpp>

Public Types

using self_type = variable_size_binary_reference<L>
 
using value_type = typename L::inner_value_type
 
using reference = typename L::inner_reference
 
using const_reference = typename L::inner_const_reference
 
using size_type = typename L::size_type
 
using difference_type = std::ptrdiff_t
 
using iterator = typename L::data_iterator
 
using const_iterator = typename L::const_data_iterator
 
using offset_type = typename L::offset_type
 

Public Member Functions

 variable_size_binary_reference (L *layout, size_type index)
 
 variable_size_binary_reference (const variable_size_binary_reference &)=default
 
 variable_size_binary_reference (variable_size_binary_reference &&)=default
 
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
self_typeoperator= (T &&rhs)
 
template<class U = typename L::inner_value_type>
requires std::assignable_from<U&, const char*>
self_typeoperator= (const char *rhs)
 
size_type size () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
bool operator== (const T &rhs) const
 
template<class U = typename L::inner_value_type>
requires std::assignable_from<U&, const char*>
bool operator== (const char *rhs) const
 
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
auto operator<=> (const T &rhs) const
 
template<class U = typename L::inner_value_type>
requires std::assignable_from<U&, const char*>
auto operator<=> (const char *rhs) const
 
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
auto operator= (T &&rhs) -> self_type &
 
template<class U>
requires std::assignable_from<U&, const char*>
auto operator= (const char *rhs) -> self_type &
 

Detailed Description

template<class L>
class sparrow::variable_size_binary_reference< L >

Implementation of reference to inner type used for layout L.

Template Parameters
Lthe layout type

Definition at line 40 of file variable_size_binary_reference.hpp.

Member Typedef Documentation

◆ const_iterator

template<class L>
using sparrow::variable_size_binary_reference< L >::const_iterator = typename L::const_data_iterator

Definition at line 51 of file variable_size_binary_reference.hpp.

◆ const_reference

template<class L>
using sparrow::variable_size_binary_reference< L >::const_reference = typename L::inner_const_reference

Definition at line 47 of file variable_size_binary_reference.hpp.

◆ difference_type

template<class L>
using sparrow::variable_size_binary_reference< L >::difference_type = std::ptrdiff_t

Definition at line 49 of file variable_size_binary_reference.hpp.

◆ iterator

template<class L>
using sparrow::variable_size_binary_reference< L >::iterator = typename L::data_iterator

Definition at line 50 of file variable_size_binary_reference.hpp.

◆ offset_type

template<class L>
using sparrow::variable_size_binary_reference< L >::offset_type = typename L::offset_type

Definition at line 52 of file variable_size_binary_reference.hpp.

◆ reference

template<class L>
using sparrow::variable_size_binary_reference< L >::reference = typename L::inner_reference

Definition at line 46 of file variable_size_binary_reference.hpp.

◆ self_type

template<class L>
using sparrow::variable_size_binary_reference< L >::self_type = variable_size_binary_reference<L>

Definition at line 44 of file variable_size_binary_reference.hpp.

◆ size_type

template<class L>
using sparrow::variable_size_binary_reference< L >::size_type = typename L::size_type

Definition at line 48 of file variable_size_binary_reference.hpp.

◆ value_type

template<class L>
using sparrow::variable_size_binary_reference< L >::value_type = typename L::inner_value_type

Definition at line 45 of file variable_size_binary_reference.hpp.

Constructor & Destructor Documentation

◆ variable_size_binary_reference() [1/3]

template<class L>
sparrow::variable_size_binary_reference< L >::variable_size_binary_reference ( L * layout,
size_type index )

Definition at line 139 of file variable_size_binary_reference.hpp.

◆ variable_size_binary_reference() [2/3]

template<class L>
sparrow::variable_size_binary_reference< L >::variable_size_binary_reference ( const variable_size_binary_reference< L > & )
default

◆ variable_size_binary_reference() [3/3]

template<class L>
sparrow::variable_size_binary_reference< L >::variable_size_binary_reference ( variable_size_binary_reference< L > && )
default

Member Function Documentation

◆ begin() [1/2]

template<class L>
auto sparrow::variable_size_binary_reference< L >::begin ( )
nodiscard

Definition at line 170 of file variable_size_binary_reference.hpp.

◆ begin() [2/2]

template<class L>
auto sparrow::variable_size_binary_reference< L >::begin ( ) const
nodiscard

Definition at line 182 of file variable_size_binary_reference.hpp.

Here is the call graph for this function:

◆ cbegin()

template<class L>
auto sparrow::variable_size_binary_reference< L >::cbegin ( ) const
nodiscard

Definition at line 194 of file variable_size_binary_reference.hpp.

Here is the caller graph for this function:

◆ cend()

template<class L>
auto sparrow::variable_size_binary_reference< L >::cend ( ) const
nodiscard

Definition at line 200 of file variable_size_binary_reference.hpp.

Here is the caller graph for this function:

◆ end() [1/2]

template<class L>
auto sparrow::variable_size_binary_reference< L >::end ( )

Definition at line 176 of file variable_size_binary_reference.hpp.

◆ end() [2/2]

template<class L>
auto sparrow::variable_size_binary_reference< L >::end ( ) const
nodiscard

Definition at line 188 of file variable_size_binary_reference.hpp.

Here is the call graph for this function:

◆ operator<=>() [1/2]

template<class L>
requires std::assignable_from<U&, const char*>
template<class U>
requires std::assignable_from<U&, const char*>
auto sparrow::variable_size_binary_reference< L >::operator<=> ( const char * rhs) const

Definition at line 232 of file variable_size_binary_reference.hpp.

Here is the call graph for this function:

◆ operator<=>() [2/2]

template<class L>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
auto sparrow::variable_size_binary_reference< L >::operator<=> ( const T & rhs) const

Definition at line 224 of file variable_size_binary_reference.hpp.

◆ operator=() [1/4]

template<class L>
template<class U = typename L::inner_value_type>
requires std::assignable_from<U&, const char*>
self_type & sparrow::variable_size_binary_reference< L >::operator= ( const char * rhs)

◆ operator=() [2/4]

template<class L>
template<class U>
requires std::assignable_from<U&, const char*>
auto sparrow::variable_size_binary_reference< L >::operator= ( const char * rhs) -> self_type&

Definition at line 158 of file variable_size_binary_reference.hpp.

◆ operator=() [3/4]

template<class L>
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
self_type & sparrow::variable_size_binary_reference< L >::operator= ( T && rhs)

◆ operator=() [4/4]

template<class L>
template<std::ranges::sized_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
auto sparrow::variable_size_binary_reference< L >::operator= ( T && rhs) -> self_type&

Definition at line 148 of file variable_size_binary_reference.hpp.

◆ operator==() [1/2]

template<class L>
requires std::assignable_from<U&, const char*>
template<class U>
requires std::assignable_from<U&, const char*>
bool sparrow::variable_size_binary_reference< L >::operator== ( const char * rhs) const

Definition at line 216 of file variable_size_binary_reference.hpp.

Here is the call graph for this function:

◆ operator==() [2/2]

template<class L>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
template<std::ranges::input_range T>
requires mpl::convertible_ranges<T, typename L::inner_value_type>
bool sparrow::variable_size_binary_reference< L >::operator== ( const T & rhs) const

Definition at line 208 of file variable_size_binary_reference.hpp.

Here is the call graph for this function:

◆ size()

template<class L>
auto sparrow::variable_size_binary_reference< L >::size ( ) const
nodiscard

Definition at line 164 of file variable_size_binary_reference.hpp.


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