Low-Level Abstraction of Memory Access
llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > Struct Template Reference

#include <BitPackedFloat.hpp>

+ Inheritance diagram for llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >:
+ Collaboration diagram for llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >:

Public Types

using value_type = Float
 

Public Member Functions

constexpr BitPackedFloatRef (StoredIntegralCV *p, SizeType bitOffset, VHExp vhExp, VHMan vhMan)
 
 BitPackedFloatRef (const BitPackedFloatRef &)=default
 
constexpr auto operator= (const BitPackedFloatRef &other) -> BitPackedFloatRef &
 
constexpr operator Float () const
 
constexpr auto operator= (Float f) -> BitPackedFloatRef &
 
- Public Member Functions inherited from llama::ProxyRefOpMixin< BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >, Float >
constexpr auto operator+= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator-= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator*= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator/= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator%= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator<<= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator>>= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator&= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator|= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator^= (const Float &rhs) -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator++ () -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator++ (int) -> Float
 
constexpr auto operator-- () -> BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &
 
constexpr auto operator-- (int) -> Float
 

Detailed Description

template<typename Float, typename StoredIntegralCV, typename VHExp, typename VHMan, typename SizeType>
struct llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >

A proxy type representing a reference to a reduced precision floating-point value, stored in a buffer at a specified bit offset.

Template Parameters
FloatFloating-point data type which can be loaded and store through this reference.
StoredIntegralCVIntegral type used for storing the bits with CV qualifiers.
SizeTypeType used to store sizes and offsets.

Definition at line 106 of file BitPackedFloat.hpp.

Member Typedef Documentation

◆ value_type

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
using llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::value_type = Float

Definition at line 130 of file BitPackedFloat.hpp.

Constructor & Destructor Documentation

◆ BitPackedFloatRef() [1/2]

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
constexpr llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::BitPackedFloatRef ( StoredIntegralCV *  p,
SizeType  bitOffset,
VHExp  vhExp,
VHMan  vhMan 
)
inlineconstexpr

Definition at line 132 of file BitPackedFloat.hpp.

◆ BitPackedFloatRef() [2/2]

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::BitPackedFloatRef ( const BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &  )
default

Member Function Documentation

◆ operator Float()

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
constexpr llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::operator Float ( ) const
inlineconstexpr

Definition at line 157 of file BitPackedFloat.hpp.

◆ operator=() [1/2]

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
constexpr auto llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::operator= ( const BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType > &  other) -> BitPackedFloatRef&
inlineconstexpr

Definition at line 150 of file BitPackedFloat.hpp.

◆ operator=() [2/2]

template<typename Float , typename StoredIntegralCV , typename VHExp , typename VHMan , typename SizeType >
constexpr auto llama::mapping::internal::BitPackedFloatRef< Float, StoredIntegralCV, VHExp, VHMan, SizeType >::operator= ( Float  f) -> BitPackedFloatRef&
inlineconstexpr

Definition at line 168 of file BitPackedFloat.hpp.


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