Rumba C++ SDK
maquina::BufferConst< T > Class Template Reference

A readonly buffer for basic types like floats, integers, Imath::V3f, Imath::M44f.. More...

#include <Buffer.h>

Inheritance diagram for maquina::BufferConst< T >:
maquina::Value maquina::Buffer< T >

Public Types

typedef T value_type
 
typedef T & reference
 
typedef const T & const_reference
 
typedef T * iterator
 
typedef const T * const_iterator
 

Public Member Functions

 BufferConst ()
 Construct an empty buffer. More...
 
 BufferConst (const Value &v)
 Cast a Value object in BufferConst. More...
 
 BufferConst (const gsl::span< const T > &content)
 Create a buffer from a content. More...
 
bool empty () const
 Returns true if the buffer is empty. More...
 
size_t size () const
 Return the number of element in the buffer. More...
 
gsl::span< const value_typeread () const
 Return the readable data. More...
 
const_reference operator[] (size_t i) const
 Returns the i-th array element. More...
 
const_iterator begin () const
 Return the beginning iterator. More...
 
const_iterator end () const
 Return the ending iterator. More...
 
- Public Member Functions inherited from maquina::Value
 Value ()
 
 Value (Value &&other)=default
 
 Value (const Value &other)=default
 
Valueoperator= (Value &&other)=default
 
Valueoperator= (const Value &other)=default
 
virtual ~Value ()=default
 
Value duplicate () const
 Duplicate the value. More...
 
bool as_bool () const
 Returns the value as a bool. More...
 
int as_int () const
 Returns the value as an integer. More...
 
float as_float () const
 Returns the value as a float. More...
 
double as_double () const
 Returns the value as a double. More...
 
const std::string & as_string () const
 Returns the value as a string. More...
 
std::wstring as_wstring () const
 Returns the value as a wstring. More...
 
Imath::V2f as_V2f () const
 Returns the value as a V2f. More...
 
Imath::V3f as_V3f () const
 Returns the value as a V3f. More...
 
Imath::V4f as_V4f () const
 Returns the value as a V4f. More...
 
const Imath::V2das_V2d () const
 Returns the value as a V2d. More...
 
const Imath::V3das_V3d () const
 Returns the value as a V3d. More...
 
const Imath::V4das_V4d () const
 Returns the value as a V4d. More...
 
const Imath::V2ias_V2i () const
 Returns the value as a V2i. More...
 
const Imath::V3ias_V3i () const
 Returns the value as a V3i. More...
 
const Imath::V4ias_V4i () const
 Returns the value as a V4i. More...
 
Imath::M44f as_M44f () const
 Returns the value as a M44f. More...
 
const Imath::M44das_M44d () const
 Returns the value as a M44d. More...
 
const Imath::Box3fas_Box3f () const
 Returns the value as a Box3f. More...
 
const Imath::Color4fas_Color4f () const
 Returns the value as a Color4f. More...
 
Imath::Quatf as_Quatf () const
 Returns the value as a Quatf. More...
 
const Imath::Quatdas_Quatd () const
 Returns the value as a Quatd. More...
 
std::shared_ptr< const UserDataas_user_data () const
 Returns the value as a user data. More...
 
StringView type_name () const
 Return the type name of the Value. More...
 
virtual bool has_node_delegate () const
 Check if this value can produces a NodeDelegate. More...
 
virtual std::shared_ptr< NodeDelegatenode_delegate (const std::shared_ptr< NodeDelegate > &parent, const StringView &name) const
 
bool operator== (const Value &o) const
 Compare the two values. More...
 
bool operator!= (const Value &o) const
 
bool is_instance (const char *value_type_name) const
 Check if this type derives from another value type. More...
 
 operator bool () const
 
 Value (bool)
 Create a boolean value. More...
 
 Value (int)
 Create an integer value. More...
 
 Value (float)
 Create a float value. More...
 
 Value (double)
 Create a double value (stored in a float right now) More...
 
 Value (const char *string)
 Create a string value. More...
 
 Value (const wchar_t *string)
 Create a string value. More...
 
 Value (const std::string &string)
 Create a string value. More...
 
 Value (const std::wstring &string)
 Create a wide string value. More...
 
 Value (const Imath::V2f &)
 Create a Imath::V2f value. More...
 
 Value (const Imath::V3f &)
 Create a Imath::V3f value. More...
 
 Value (const Imath::V4f &)
 Create a Imath::V4f value. More...
 
 Value (const Imath::V2d &)
 Create a Imath::V2d value. More...
 
 Value (const Imath::V3d &)
 Create a Imath::V3d value. More...
 
 Value (const Imath::V4d &)
 Create a Imath::V4d value. More...
 
 Value (const Imath::V2i &)
 Create a Imath::V2i value. More...
 
 Value (const Imath::V3i &)
 Create a Imath::V3i value. More...
 
 Value (const Imath::V4i &)
 Create a Imath::V4i value. More...
 
 Value (const Imath::Color4f &)
 Create a Imath::Color4f value. More...
 
 Value (const Imath::M44f &)
 Create a Imath::M44f value. More...
 
 Value (const Imath::M44d &)
 Create a Imath::M44d value. More...
 
 Value (const Imath::Box3f &)
 Create a Imath::Box3f value. More...
 
 Value (const Imath::Quatf &)
 Create a Imath::Quatf value. More...
 
 Value (const Imath::Quatd &)
 Create a Imath::Quatd value. More...
 
 Value (const std::shared_ptr< const UserData > &user_data)
 Create a user data value. More...
 

Static Public Attributes

static const BufferConst< T > default_value
 The default value. More...
 
- Static Public Attributes inherited from maquina::Value
static const Value default_value
 The default value. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from maquina::Value
static bool validate_type_name (const char *type_name)
 Return true if the name is a valid type name. More...
 
static Value get_default_value (const char *type_name)
 Return a default value for a given type. More...
 

Detailed Description

template<typename T>
class maquina::BufferConst< T >

A readonly buffer for basic types like floats, integers, Imath::V3f, Imath::M44f..

The predefined BufferConst types:

  • BufferConstInt32
  • BufferConstUInt8
  • BufferConstUInt32
  • BufferConstFloat
  • BufferConstDouble
  • BufferConstV2f
  • BufferConstV3f
  • BufferConstV4f
  • BufferConstV2i
  • BufferConstV3i
  • BufferConstV4i
  • BufferConstM33f
  • BufferConstM44f
  • BufferConstBox3f

Member Typedef Documentation

◆ const_iterator

template<typename T>
typedef const T* maquina::BufferConst< T >::const_iterator

◆ const_reference

template<typename T>
typedef const T& maquina::BufferConst< T >::const_reference

◆ iterator

template<typename T>
typedef T* maquina::BufferConst< T >::iterator

◆ reference

template<typename T>
typedef T& maquina::BufferConst< T >::reference

◆ value_type

template<typename T>
typedef T maquina::BufferConst< T >::value_type

Constructor & Destructor Documentation

◆ BufferConst() [1/3]

template<typename T>
maquina::BufferConst< T >::BufferConst ( )

Construct an empty buffer.

◆ BufferConst() [2/3]

template<typename T>
maquina::BufferConst< T >::BufferConst ( const Value v)

Cast a Value object in BufferConst.

If v has not the good type, a default value is constructed.

◆ BufferConst() [3/3]

template<typename T>
maquina::BufferConst< T >::BufferConst ( const gsl::span< const T > &  content)

Create a buffer from a content.

Member Function Documentation

◆ begin()

template<typename T>
const_iterator maquina::BufferConst< T >::begin ( ) const

Return the beginning iterator.

◆ empty()

template<typename T>
bool maquina::BufferConst< T >::empty ( ) const

Returns true if the buffer is empty.

◆ end()

template<typename T>
const_iterator maquina::BufferConst< T >::end ( ) const

Return the ending iterator.

◆ operator[]()

template<typename T>
const_reference maquina::BufferConst< T >::operator[] ( size_t  i) const

Returns the i-th array element.

This method is slower than using a buffer span

Parameters
iThe buffer element to return. Expect an access violation error if i is out of bounds.

◆ read()

template<typename T>
gsl::span<const value_type> maquina::BufferConst< T >::read ( ) const

Return the readable data.

Use this buffer span for the best access performances.

◆ size()

template<typename T>
size_t maquina::BufferConst< T >::size ( ) const

Return the number of element in the buffer.

Member Data Documentation

◆ default_value

template<typename T>
const BufferConst<T> maquina::BufferConst< T >::default_value
static

The default value.


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