sparrow 0.9.0
Loading...
Searching...
No Matches
sparrow::decimal_reference< L > Class Template Reference

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

#include <decimal_reference.hpp>

Public Types

using self_type = decimal_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
 

Public Member Functions

 decimal_reference (L *layout, size_type index)
 
 decimal_reference (const decimal_reference &)=default
 
 decimal_reference (decimal_reference &&) noexcept=default
 
self_typeoperator= (self_type &&rhs)
 
self_typeoperator= (const self_type &rhs)
 
self_typeoperator= (value_type &&rhs)
 
self_typeoperator= (const value_type &rhs)
 
 operator float () const
 
 operator double () const
 
 operator long double () const
 
 operator std::string () const
 
bool operator== (const value_type &rhs) const
 
auto operator<=> (const value_type &rhs) const
 
const_reference value () const
 
value_type::integer_type storage () const
 
int scale () const
 

Detailed Description

template<class L>
class sparrow::decimal_reference< L >

Implementation of reference to inner type used for layout L.

Template Parameters
Lthe layout type

Definition at line 32 of file decimal_reference.hpp.

Member Typedef Documentation

◆ const_reference

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

Definition at line 39 of file decimal_reference.hpp.

◆ difference_type

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

Definition at line 41 of file decimal_reference.hpp.

◆ reference

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

Definition at line 38 of file decimal_reference.hpp.

◆ self_type

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

Definition at line 36 of file decimal_reference.hpp.

◆ size_type

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

Definition at line 40 of file decimal_reference.hpp.

◆ value_type

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

Definition at line 37 of file decimal_reference.hpp.

Constructor & Destructor Documentation

◆ decimal_reference() [1/3]

template<typename L>
sparrow::decimal_reference< L >::decimal_reference ( L * layout,
size_type index )

Definition at line 81 of file decimal_reference.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decimal_reference() [2/3]

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

◆ decimal_reference() [3/3]

template<class L>
sparrow::decimal_reference< L >::decimal_reference ( decimal_reference< L > && )
defaultnoexcept

Member Function Documentation

◆ operator double()

template<typename L>
requires (!is_int_placeholder_v<typename value_type::integer_type>)
sparrow::decimal_reference< L >::operator double ( ) const
explicit

Definition at line 153 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ operator float()

template<typename L>
requires (!is_int_placeholder_v<typename value_type::integer_type>)
sparrow::decimal_reference< L >::operator float ( ) const
explicit

Definition at line 146 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ operator long double()

template<typename L>
requires (!is_int_placeholder_v<typename value_type::integer_type>)
sparrow::decimal_reference< L >::operator long double ( ) const
explicit

Definition at line 160 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ operator std::string()

template<class L>
sparrow::decimal_reference< L >::operator std::string ( ) const
explicitnodiscard

◆ operator<=>()

template<typename L>
auto sparrow::decimal_reference< L >::operator<=> ( const value_type & rhs) const

Definition at line 122 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ operator=() [1/4]

template<typename L>
auto sparrow::decimal_reference< L >::operator= ( const self_type & rhs)

Definition at line 109 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ operator=() [2/4]

template<typename L>
auto sparrow::decimal_reference< L >::operator= ( const value_type & rhs)

Definition at line 95 of file decimal_reference.hpp.

◆ operator=() [3/4]

template<typename L>
auto sparrow::decimal_reference< L >::operator= ( self_type && rhs)

Definition at line 102 of file decimal_reference.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [4/4]

template<typename L>
auto sparrow::decimal_reference< L >::operator= ( value_type && rhs)

Definition at line 88 of file decimal_reference.hpp.

◆ operator==()

template<typename L>
bool sparrow::decimal_reference< L >::operator== ( const value_type & rhs) const

Definition at line 116 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ scale()

template<typename L>
int sparrow::decimal_reference< L >::scale ( ) const
nodiscard

Definition at line 140 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ storage()

template<typename L>
auto sparrow::decimal_reference< L >::storage ( ) const
nodiscard

Definition at line 134 of file decimal_reference.hpp.

Here is the call graph for this function:

◆ value()

template<typename L>
auto sparrow::decimal_reference< L >::value ( ) const
nodiscard

Definition at line 128 of file decimal_reference.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

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