MaterialX 1.39.2
Loading...
Searching...
No Matches
Value.h File Reference

Generic value classes. More...

Go to the source code of this file.

Classes

class  Value
 A generic, discriminated value, whose type may be queried dynamically. More...
 
class  TypedValue< T >
 The class template for typed subclasses of Value. More...
 
class  AggregateValue
 A subclass for aggregate values with multiple members. More...
 
class  ScopedFloatFormatting
 An RAII class for controlling the float formatting of values. More...
 

Typedefs

using IntVec = vector<int>
 A vector of integers.
 
using BoolVec = vector<bool>
 A vector of booleans.
 
using FloatVec = vector<float>
 A vector of floats.
 
using ValuePtr = shared_ptr<Value>
 A shared pointer to a Value.
 
using ConstValuePtr = shared_ptr<const Value>
 A shared pointer to a const Value.
 
using AggregateValuePtr = shared_ptr<AggregateValue>
 A shared pointer to an Aggregate Value.
 
using ConstAggregateValuePtr = shared_ptr<const AggregateValue>
 A shared pointer to a const Aggregate Value.
 
using ConstTypeDefPtr = shared_ptr<const TypeDef>
 

Functions

template<class T>
MX_CORE_API const string & getTypeString ()
 Return the type string associated with the given data type.
 
template<class T>
MX_CORE_API string toValueString (const T &data)
 Convert the given data value to a value string.
 
template<class T>
MX_CORE_API T fromValueString (const string &value)
 Convert the given value string to a data value of the given type.
 
MX_CORE_API StringVec parseStructValueString (const string &value)
 Tokenize the string representation of a struct value i.e, "{1;2;3}" into a vector of substrings.
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< int >)
 Forward declaration of specific template instantiations.
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< bool >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< float >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Color3 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Color4 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector2 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector3 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Vector4 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Matrix33 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< Matrix44 >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< string >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< IntVec >)
 Array types.
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< BoolVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< FloatVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< StringVec >)
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< long >)
 Alias types.
 
 MX_CORE_EXTERN_TEMPLATE (TypedValue< double >)
 

Detailed Description

Generic value classes.

Function Documentation

◆ fromValueString()

template<class T>
MX_CORE_API T fromValueString ( const string & value)

Convert the given value string to a data value of the given type.

Exceptions
ExceptionTypeErrorif the conversion cannot be performed.

◆ MX_CORE_EXTERN_TEMPLATE()

MX_CORE_EXTERN_TEMPLATE ( TypedValue< int > )

Forward declaration of specific template instantiations.

Base types

◆ parseStructValueString()

MX_CORE_API StringVec parseStructValueString ( const string & value)

Tokenize the string representation of a struct value i.e, "{1;2;3}" into a vector of substrings.

Note: "{1;2;{3;4;5}}" will be split in to ["1", "2", "{3;4;5}"]