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

container for all variable data More...

#include <var_data.hpp>

Collaboration diagram for glslstruct::var_data:
[legend]

Public Member Functions

 var_data (size_t offset, const base_type_handle &type, bool isTopLevel, size_t padding) noexcept
 constructor with offset, var type and padding
 var_data (const var_data &other) noexcept
 default copy constructor
 var_data (var_data &&other) noexcept
 default move constructor
 ~var_data () noexcept
 default destructor
var_dataoperator= (const var_data &other) noexcept
 default copy assign operator
var_dataoperator= (var_data &&other) noexcept
 default move assign operator
void set_padding (size_t padding) noexcept
 padding setter
void set_is_top_level (bool topLevel) noexcept
 sets top level
const base_type_handleget_type () const noexcept
 returns type of variable
size_t get_offset () const noexcept
 returns var offset
size_t get_total_size () const noexcept
 returns var total size (size + padding)
size_t get_size () const noexcept
 returns var size
size_t get_padding () const noexcept
 returns var padding
bool is_top_level () const noexcept
 returns isTopLevel
bool operator== (const var_data &other) const noexcept
 checks if this var_data is equal to other var_data
bool operator!= (const var_data &other) const noexcept
 checks if this var_data is not equal to other var_data

Private Attributes

base_type_handle _type
 type of variable
size_t _offset
 variable offset
size_t _padding
 additional variable padding
bool _isTopLevel
 indicates if variable is in top level

Friends

struct std::hash< var_data >

Detailed Description

container for all variable data

Constructor & Destructor Documentation

◆ var_data() [1/3]

var_data::var_data ( size_t offset,
const base_type_handle & type,
bool isTopLevel,
size_t padding )
noexcept

constructor with offset, var type and padding

◆ var_data() [2/3]

var_data::var_data ( const var_data & other)
defaultnoexcept

default copy constructor

◆ var_data() [3/3]

var_data::var_data ( var_data && other)
defaultnoexcept

default move constructor

◆ ~var_data()

var_data::~var_data ( )
defaultnoexcept

default destructor

Member Function Documentation

◆ get_offset()

size_t var_data::get_offset ( ) const
nodiscardnoexcept

returns var offset

◆ get_padding()

size_t var_data::get_padding ( ) const
nodiscardnoexcept

returns var padding

◆ get_size()

size_t var_data::get_size ( ) const
nodiscardnoexcept

returns var size

◆ get_total_size()

size_t var_data::get_total_size ( ) const
nodiscardnoexcept

returns var total size (size + padding)

◆ get_type()

const base_type_handle & var_data::get_type ( ) const
nodiscardnoexcept

returns type of variable

◆ is_top_level()

bool var_data::is_top_level ( ) const
nodiscardnoexcept

returns isTopLevel

◆ operator!=()

bool var_data::operator!= ( const var_data & other) const
nodiscarddefaultnoexcept

checks if this var_data is not equal to other var_data

◆ operator=() [1/2]

var_data & var_data::operator= ( const var_data & other)
defaultnoexcept

default copy assign operator

◆ operator=() [2/2]

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

default move assign operator

◆ operator==()

bool var_data::operator== ( const var_data & other) const
nodiscardnoexcept

checks if this var_data is equal to other var_data

◆ set_is_top_level()

void var_data::set_is_top_level ( bool topLevel)
noexcept

sets top level

◆ set_padding()

void var_data::set_padding ( size_t padding)
noexcept

padding setter

◆ std::hash< var_data >

friend struct std::hash< var_data >
friend

Member Data Documentation

◆ _isTopLevel

bool glslstruct::var_data::_isTopLevel
private

indicates if variable is in top level

◆ _offset

size_t glslstruct::var_data::_offset
private

variable offset

◆ _padding

size_t glslstruct::var_data::_padding
private

additional variable padding

◆ _type

base_type_handle glslstruct::var_data::_type
private

type of variable