GLSL Struct 1.4.0
glslstruct
Loading...
Searching...
No Matches
glslstruct::scalar_data Class Reference

glsl scalar data container More...

#include <scalar_data.hpp>

Collaboration diagram for glslstruct::scalar_data:
[legend]

Public Member Functions

 scalar_data (const std::vector< std::byte > &data)
 constructor which accepts raw data (not recommended to use for end user)
 scalar_data (bool value)
 constructor for bool value
 scalar_data (int value)
 constructor for int value
 scalar_data (unsigned int value)
 constructor for unsigned int value
 scalar_data (float value)
 constructor for float value
 scalar_data (double value)
 constructor for double value
 scalar_data (const scalar_data &other)
 default copy constructor
 scalar_data (scalar_data &&other) noexcept
 default move constructor
 ~scalar_data ()
 default destructor
scalar_dataoperator= (const scalar_data &other)
 default copy assign operator
scalar_dataoperator= (scalar_data &&other) noexcept
 default move assign operator
template<utils::glsl_scalar T>
get () const
 returns value from this scalar_data container using scalar_traits conversion
const std::vector< std::byte > & data () const noexcept
 returns value data in bytes

Static Private Member Functions

template<class T>
static _GLSL_STRUCT_CONSTEXPR20 std::vector< std::byte > _get_value_data (const T &value)
 returns value of type T pure data bytes

Private Attributes

std::vector< std::byte > _data
 vector of data bytes

Detailed Description

glsl scalar data container

Constructor & Destructor Documentation

◆ scalar_data() [1/8]

scalar_data::scalar_data ( const std::vector< std::byte > & data)
explicit

constructor which accepts raw data (not recommended to use for end user)

◆ scalar_data() [2/8]

scalar_data::scalar_data ( bool value)
explicit

constructor for bool value

◆ scalar_data() [3/8]

scalar_data::scalar_data ( int value)
explicit

constructor for int value

◆ scalar_data() [4/8]

scalar_data::scalar_data ( unsigned int value)
explicit

constructor for unsigned int value

◆ scalar_data() [5/8]

scalar_data::scalar_data ( float value)
explicit

constructor for float value

◆ scalar_data() [6/8]

scalar_data::scalar_data ( double value)
explicit

constructor for double value

◆ scalar_data() [7/8]

scalar_data::scalar_data ( const scalar_data & other)
default

default copy constructor

◆ scalar_data() [8/8]

scalar_data::scalar_data ( scalar_data && other)
defaultnoexcept

default move constructor

◆ ~scalar_data()

scalar_data::~scalar_data ( )
default

default destructor

Member Function Documentation

◆ _get_value_data()

template<class T>
_GLSL_STRUCT_CONSTEXPR20 std::vector< std::byte > glslstruct::scalar_data::_get_value_data ( const T & value)
inlinestaticnodiscardprivate

returns value of type T pure data bytes

◆ data()

const std::vector< std::byte > & scalar_data::data ( ) const
nodiscardnoexcept

returns value data in bytes

◆ get()

template<utils::glsl_scalar T>
T glslstruct::scalar_data::get ( ) const
inline

returns value from this scalar_data container using scalar_traits conversion

◆ operator=() [1/2]

scalar_data & scalar_data::operator= ( const scalar_data & other)
default

default copy assign operator

◆ operator=() [2/2]

scalar_data & scalar_data::operator= ( scalar_data && other)
defaultnoexcept

default move assign operator

Member Data Documentation

◆ _data

std::vector<std::byte> glslstruct::scalar_data::_data
private

vector of data bytes