vsg: vsg::Value< T > Class Template Reference

vsg 1.1.13 VulkanSceneGraph library

Loading...
Searching...
No Matches
vsg::Value< T > Class Template Reference
Inheritance diagram for vsg::Value< T >:
[legend]
Collaboration diagram for vsg::Value< T >:
[legend]

## Public Types
using | value_type = T
Public Types inherited from vsg::Data
using | Layout = Properties
| deprecated: provided for backwards compatibility, use Properties instead.

## Public Member Functions
| Value (const Value &rhs, const CopyOp &copyop={})
| Value (const value_type &in_value)
template<typename... Args>
| Value (Args &&... args)
ref_ptr< Object > | clone (const CopyOp &copyop={}) const override
size_t | sizeofObject () const noexcept override
const char * | className () const noexcept override
const std::type_info & | type_info () const noexcept override
| return the std::type_info of this Object
bool | is_compatible (const std::type_info &type) const noexcept override
void | accept (Visitor &visitor) override
void | accept (ConstVisitor &visitor) const override
void | read (Input &input) override
void | write (Output &output) const override
size_t | valueSize () const override
size_t | valueCount () const override
bool | dataAvailable () const override
size_t | dataSize () const override
void * | dataPointer () override
const void * | dataPointer () const override
void * | dataPointer (size_t) override
const void * | dataPointer (size_t) const override
void * | dataRelease () override
uint32_t | dimensions () const override
uint32_t | width () const override
uint32_t | height () const override
uint32_t | depth () const override
Value & | operator= (const Value &rhs)
Value & | operator= (const value_type &rhs)
| operator value_type & ()
| operator const value_type & () const
value_type & | value ()
const value_type & | value () const
void | set (const value_type &value)
Public Member Functions inherited from vsg::Data
| Data (const Data &data, const CopyOp &copyop={})
| Data (Properties layout)
| Data (Properties layout, uint32_t min_stride)
int | compare (const Object &rhs_object) const override
| compare two objects, return -1 if this object is less than rhs, return 0 if it's equal, return 1 if rhs is greater,
bool | dynamic () const
std::tuple< uint32_t, uint32_t, uint32_t > | pixelExtents () const
| return the {width, height, depth} pixel extents of an image accounting for blockWidth and any mipmapData assigned to image.
bool | contiguous () const
uint32_t | stride () const
size_t | computeValueCountIncludingMipmaps () const
void | dirty ()
| increment the ModifiedCount to signify the data has been modified
bool | getModifiedCount (ModifiedCount &mc) const
| get the Data's ModifiedCount and return true if this changes the specified ModifiedCount
bool | differentModifiedCount (const ModifiedCount &mc) const
| return true if Data's ModifiedCount is different from the specified ModifiedCount
void | setMipmapLayout (MipmapLayout *mipmapData)
| set the MipmapLayout, only required when the data contains mipmaps that use block compressed formats and the pixels size doesn't fit exactly to the block size.
const MipmapLayout * | getMipmapLayout () const
| get the MipmapLayout if assigned.
void | setLayout (Layout layout)
| deprecated: use data->properties = properties instead.
Layout & | getLayout ()
| deprecated: use data->properties
Layout | getLayout () const
| deprecated: use data->properties
Public Member Functions inherited from vsg::Object
| Object (const Object &object, const CopyOp &copyop={})
Object & | operator= (const Object &)
template<class T>
T * | cast ()
template<class T>
const T * | cast () const
virtual void | traverse (Visitor &)
virtual void | traverse (ConstVisitor &) const
virtual void | accept (RecordTraversal &visitor) const
virtual void | traverse (RecordTraversal &) const
void | ref () const noexcept
void | unref () const noexcept
void | unref_nodelete () const noexcept
unsigned int | referenceCount () const noexcept
template<typename T>
void | setValue (const std::string &key, const T &value)
void | setValue (const std::string &key, const char *value)
| specialization of setValue to handle passing C strings
template<typename T>
bool | getValue (const std::string &key, T &value) const
| get specified value type, return false if value associated with key is not assigned or is not the correct type
void | setObject (const std::string &key, ref_ptr< Object > object)
| assign an Object associated with key
Object * | getObject (const std::string &key)
| get Object pointer associated with key, return nullptr if no object associated with key has been assigned
const Object * | getObject (const std::string &key) const
| get const Object pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
T * | getObject (const std::string &key)
| get object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const T * | getObject (const std::string &key) const
| get const object pointer of specified type associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< Object > | getRefObject (const std::string &key)
| get ref_ptr<Object> associated with key, return nullptr if no object associated with key has been assigned
ref_ptr< const Object > | getRefObject (const std::string &key) const
| get ref_ptr<const Object> pointer associated with key, return nullptr if no object associated with key has been assigned
template<class T>
ref_ptr< T > | getRefObject (const std::string &key)
| get ref_ptr<T> of specified type associated with key, return nullptr if no object associated with key has been assigned
template<class T>
const ref_ptr< const T > | getRefObject (const std::string &key) const
| get ref_ptr<const T> of specified type associated with key, return nullptr if no object associated with key has been assigned
void | removeObject (const std::string &key)
| remove meta object or value associated with key
Auxiliary * | getOrCreateAuxiliary ()
Auxiliary * | getAuxiliary ()
const Auxiliary * | getAuxiliary () const

## Static Public Member Functions
template<typename... Args>
static ref_ptr< Value > | create (Args &&... args)
template<typename... Args>
static ref_ptr< Value > | create_if (bool flag, Args &&... args)
Static Public Member Functions inherited from vsg::Data
static void * | operator new (size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_DATA
static void | operator delete (void *ptr)
Static Public Member Functions inherited from vsg::Object
static ref_ptr< Object > | create ()
static ref_ptr< Object > | create_if (bool flag)
static void * | operator new (std::size_t count)
| provide new and delete to enable custom memory management via the vsg::Allocator singleton, using the MEMORY_AFFINTY_OBJECTS
static void | operator delete (void *ptr)

## Additional Inherited Members
Public Attributes inherited from vsg::Data
Properties | properties
| properties of the data such as format, origin, stride, dataVariance etc.
Protected Member Functions inherited from vsg::Data
void | _copy (const Data &rhs)
void | _clear ()
Protected Member Functions inherited from vsg::Object
virtual void | _attemptDelete () const
void | setAuxiliary (Auxiliary *auxiliary)
Protected Attributes inherited from vsg::Data
ModifiedCount | _modifiedCount

## Member Function Documentation

## ◆ accept() [1/2]

template<typename T>

void vsg::Value< T >::accept | ( | ConstVisitor & | visitor | ) | const
| overridevirtual

Reimplemented from vsg::Object.

## ◆ accept() [2/2]

template<typename T>

void vsg::Value< T >::accept | ( | Visitor & | visitor | ) |
| overridevirtual

Reimplemented from vsg::Object.

## ◆ className()

template<typename T>

const char * vsg::Value< T >::className | ( |  | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Object.

## ◆ clone()

template<typename T>

ref_ptr< Object > vsg::Value< T >::clone | ( | const CopyOp & | copyop = {} | ) | const
| inlineoverridevirtual

clone this object using CopyOp's duplicates map to decide whether to clone or to return the original object. The default clone(CopyOp&) implementation simply returns ref_ptr<> to this object rather attempt to clone.

Reimplemented from vsg::Object.

## ◆ dataAvailable()

template<typename T>

bool vsg::Value< T >::dataAvailable | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [1/4]

template<typename T>

const void * vsg::Value< T >::dataPointer | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [2/4]

template<typename T>

void * vsg::Value< T >::dataPointer | ( |  | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [3/4]

template<typename T>

const void * vsg::Value< T >::dataPointer | ( | size_t |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataPointer() [4/4]

template<typename T>

void * vsg::Value< T >::dataPointer | ( | size_t |  | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataRelease()

template<typename T>

void * vsg::Value< T >::dataRelease | ( |  | ) |
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dataSize()

template<typename T>

size_t vsg::Value< T >::dataSize | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ depth()

template<typename T>

uint32_t vsg::Value< T >::depth | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ dimensions()

template<typename T>

uint32_t vsg::Value< T >::dimensions | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ height()

template<typename T>

uint32_t vsg::Value< T >::height | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ is_compatible()

template<typename T>

bool vsg::Value< T >::is_compatible | ( | const std::type_info & | type | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Data.

## ◆ read()

template<typename T>

void vsg::Value< T >::read | ( | Input & | input | ) |
| inlineoverridevirtual

Reimplemented from vsg::Data.

## ◆ sizeofObject()

template<typename T>

size_t vsg::Value< T >::sizeofObject | ( |  | ) | const
| inlineoverridevirtualnoexcept

Reimplemented from vsg::Data.

## ◆ type_info()

template<typename T>

const std::type_info & vsg::Value< T >::type_info | ( |  | ) | const
| inlineoverridevirtualnoexcept

return the std::type_info of this Object

Reimplemented from vsg::Object.

## ◆ valueCount()

template<typename T>

size_t vsg::Value< T >::valueCount | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ valueSize()

template<typename T>

size_t vsg::Value< T >::valueSize | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ width()

template<typename T>

uint32_t vsg::Value< T >::width | ( |  | ) | const
| inlineoverridevirtual

Implements vsg::Data.

## ◆ write()

template<typename T>

void vsg::Value< T >::write | ( | Output & | output | ) | const
| inlineoverridevirtual

Reimplemented from vsg::Data.

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

- include/vsg/core/Value.h
- include/vsg/core/ConstVisitor.h
- include/vsg/core/Visitor.h