vardata_t Class Reference

yasimavr: vardata_t Class Reference
yasimavr
Loading...
Searching...
No Matches

#include <sim_types.h>

Public Types

enum  Type {
  Invalid , Pointer , Double , Uinteger ,
  Integer , Bytes
}
 
typedef std::exception bad_type
 

Public Member Functions

constexpr vardata_t ()
 
template<typename T >
constexpr vardata_t (T *p_)
 
constexpr vardata_t (double d_)
 
constexpr vardata_t (unsigned char u_)
 
constexpr vardata_t (unsigned short u_)
 
constexpr vardata_t (unsigned int u_)
 
constexpr vardata_t (unsigned long u_)
 
constexpr vardata_t (unsigned long long u_)
 
constexpr vardata_t (signed char i_)
 
constexpr vardata_t (short i_)
 
constexpr vardata_t (int i_)
 
constexpr vardata_t (long i_)
 
constexpr vardata_t (long long i_)
 
constexpr vardata_t (const bytes_view_t &b_)
 
constexpr vardata_t (const vardata_t &)=default
 
constexpr vardata_t (vardata_t &&)=default
 
constexpr Type type () const
 
template<typename T >
constexpr T * as_ptr () const
 
constexpr double as_double () const
 
constexpr unsigned long long as_uint () const
 
constexpr long long as_int () const
 
constexpr bytes_view_t as_bytes () const
 
template<typename T >
constexpr vardata_toperator= (T *p_)
 
constexpr vardata_toperator= (double d_)
 
constexpr vardata_toperator= (unsigned char u_)
 
constexpr vardata_toperator= (unsigned short u_)
 
constexpr vardata_toperator= (unsigned int u_)
 
constexpr vardata_toperator= (unsigned long u_)
 
constexpr vardata_toperator= (unsigned long long u_)
 
constexpr vardata_toperator= (signed char i_)
 
constexpr vardata_toperator= (short i_)
 
constexpr vardata_toperator= (int i_)
 
constexpr vardata_toperator= (long i_)
 
constexpr vardata_toperator= (long long i_)
 
constexpr vardata_toperator= (const bytes_view_t &b_)
 
constexpr vardata_toperator= (const vardata_t &)=default
 
constexpr vardata_toperator= (vardata_t &&)=default
 
bool operator== (const vardata_t &other) const
 
bool operator!= (const vardata_t &other) const
 

Detailed Description

Polymorphic value wrapper mainly used with signals

Member Typedef Documentation

◆ bad_type

typedef std::exception vardata_t::bad_type

Member Enumeration Documentation

◆ Type

Enumerator
Invalid 
Pointer 
Double 
Uinteger 
Integer 
Bytes 

Constructor & Destructor Documentation

◆ vardata_t() [1/16]

constexpr vardata_t::vardata_t ( )
inlineconstexpr

◆ vardata_t() [2/16]

template<typename T >
constexpr vardata_t::vardata_t ( T *  p_)
inlineconstexpr

◆ vardata_t() [3/16]

constexpr vardata_t::vardata_t ( double  d_)
inlineconstexpr

◆ vardata_t() [4/16]

constexpr vardata_t::vardata_t ( unsigned char  u_)
inlineconstexpr

◆ vardata_t() [5/16]

constexpr vardata_t::vardata_t ( unsigned short  u_)
inlineconstexpr

◆ vardata_t() [6/16]

constexpr vardata_t::vardata_t ( unsigned int  u_)
inlineconstexpr

◆ vardata_t() [7/16]

constexpr vardata_t::vardata_t ( unsigned long  u_)
inlineconstexpr

◆ vardata_t() [8/16]

constexpr vardata_t::vardata_t ( unsigned long long  u_)
inlineconstexpr

◆ vardata_t() [9/16]

constexpr vardata_t::vardata_t ( signed char  i_)
inlineconstexpr

◆ vardata_t() [10/16]

constexpr vardata_t::vardata_t ( short  i_)
inlineconstexpr

◆ vardata_t() [11/16]

constexpr vardata_t::vardata_t ( int  i_)
inlineconstexpr

◆ vardata_t() [12/16]

constexpr vardata_t::vardata_t ( long  i_)
inlineconstexpr

◆ vardata_t() [13/16]

constexpr vardata_t::vardata_t ( long long  i_)
inlineconstexpr

◆ vardata_t() [14/16]

constexpr vardata_t::vardata_t ( const bytes_view_t b_)
inlineconstexpr

◆ vardata_t() [15/16]

constexpr vardata_t::vardata_t ( const vardata_t )
constexprdefault

◆ vardata_t() [16/16]

constexpr vardata_t::vardata_t ( vardata_t &&  )
constexprdefault

Member Function Documentation

◆ as_bytes()

constexpr bytes_view_t vardata_t::as_bytes ( ) const
inlineconstexpr

◆ as_double()

constexpr double vardata_t::as_double ( ) const
inlineconstexpr

◆ as_int()

constexpr long long vardata_t::as_int ( ) const
inlineconstexpr

◆ as_ptr()

template<typename T >
constexpr T * vardata_t::as_ptr ( ) const
inlineconstexpr

◆ as_uint()

constexpr unsigned long long vardata_t::as_uint ( ) const
inlineconstexpr

◆ operator!=()

bool vardata_t::operator!= ( const vardata_t other) const
inline

◆ operator=() [1/15]

constexpr vardata_t & vardata_t::operator= ( const bytes_view_t b_)
inlineconstexpr

◆ operator=() [2/15]

constexpr vardata_t & vardata_t::operator= ( const vardata_t )
constexprdefault

◆ operator=() [3/15]

constexpr vardata_t & vardata_t::operator= ( double  d_)
inlineconstexpr

◆ operator=() [4/15]

constexpr vardata_t & vardata_t::operator= ( int  i_)
inlineconstexpr

◆ operator=() [5/15]

constexpr vardata_t & vardata_t::operator= ( long  i_)
inlineconstexpr

◆ operator=() [6/15]

constexpr vardata_t & vardata_t::operator= ( long long  i_)
inlineconstexpr

◆ operator=() [7/15]

constexpr vardata_t & vardata_t::operator= ( short  i_)
inlineconstexpr

◆ operator=() [8/15]

constexpr vardata_t & vardata_t::operator= ( signed char  i_)
inlineconstexpr

◆ operator=() [9/15]

template<typename T >
constexpr vardata_t & vardata_t::operator= ( T *  p_)
inlineconstexpr

◆ operator=() [10/15]

constexpr vardata_t & vardata_t::operator= ( unsigned char  u_)
inlineconstexpr

◆ operator=() [11/15]

constexpr vardata_t & vardata_t::operator= ( unsigned int  u_)
inlineconstexpr

◆ operator=() [12/15]

constexpr vardata_t & vardata_t::operator= ( unsigned long long  u_)
inlineconstexpr

◆ operator=() [13/15]

constexpr vardata_t & vardata_t::operator= ( unsigned long  u_)
inlineconstexpr

◆ operator=() [14/15]

constexpr vardata_t & vardata_t::operator= ( unsigned short  u_)
inlineconstexpr

◆ operator=() [15/15]

constexpr vardata_t & vardata_t::operator= ( vardata_t &&  )
constexprdefault

◆ operator==()

bool vardata_t::operator== ( const vardata_t other) const

◆ type()

constexpr Type vardata_t::type ( ) const
inlineconstexpr

Member Data Documentation

◆ b

bytes_view_t vardata_t::b

◆ d

double vardata_t::d

◆ i

long long vardata_t::i

◆ p

void* vardata_t::p

◆ u

unsigned long long vardata_t::u

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