HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SdfValueTypeName Class Reference

#include <valueTypeName.h>

+ Inheritance diagram for SdfValueTypeName:

Public Member Functions

SDF_API SdfValueTypeName ()
 Constructs an invalid type name. More...
 
SDF_API TfToken GetAsToken () const
 
SDF_API const TfTypeGetType () const
 Returns the TfType of the type. More...
 
SDF_API const std::stringGetCPPTypeName () const
 
SDF_API const TfTokenGetRole () const
 Returns the type's role. More...
 
SDF_API const VtValueGetDefaultValue () const
 Returns the default value for the type. More...
 
SDF_API const TfEnumGetDefaultUnit () const
 Returns the default unit enum for the type. More...
 
SDF_API SdfValueTypeName GetScalarType () const
 
SDF_API SdfValueTypeName GetArrayType () const
 
SDF_API bool IsScalar () const
 
SDF_API bool IsArray () const
 
SDF_API SdfTupleDimensions GetDimensions () const
 Returns the dimensions of the scalar value, e.g. 3 for a 3D point. More...
 
SDF_API bool operator== (const SdfValueTypeName &rhs) const
 
SDF_API bool operator== (const std::string &rhs) const
 
SDF_API bool operator== (const TfToken &rhs) const
 
SDF_API size_t GetHash () const
 Returns a hash value for this type name. More...
 
 operator bool () const
 
SDF_API std::vector< TfTokenGetAliasesAsTokens () const
 

Friends

class Sdf_ValueTypeRegistry
 
struct Sdf_ValueTypePrivate
 

Detailed Description

Represents a value type name, i.e. an attribute's type name. Usually, a value type name associates a string with a TfType and an optional role, along with additional metadata. A schema registers all known value type names and may register multiple names for the same TfType and role pair. All name strings for a given pair are collectively called its aliases.

A value type name may also represent just a name string, without a TfType, role or other metadata. This is currently used exclusively to unserialize and re-serialize an attribute's type name where that name is not known to the schema.

Because value type names can have aliases and those aliases may change in the future, clients should avoid using the value type name's string representation except to report human readable messages and when serializing. Clients can look up a value type name by string using SdfSchemaBase::FindType() and shouldn't otherwise need the string. Aliases compare equal, even if registered by different schemas.

Definition at line 83 of file valueTypeName.h.

Constructor & Destructor Documentation

SDF_API SdfValueTypeName::SdfValueTypeName ( )

Constructs an invalid type name.

Member Function Documentation

SDF_API std::vector<TfToken> SdfValueTypeName::GetAliasesAsTokens ( ) const

Returns all aliases of the type name as tokens. These should not be used for comparison purposes.

SDF_API SdfValueTypeName SdfValueTypeName::GetArrayType ( ) const

Returns the array version of this type name if it's an scalar type name, otherwise returns this type name. If there is no array type name then this returns the invalid type name.

SDF_API TfToken SdfValueTypeName::GetAsToken ( ) const

Returns the type name as a token. This should not be used for comparison purposes.

SDF_API const std::string& SdfValueTypeName::GetCPPTypeName ( ) const

Returns the C++ type name for this type. This may not be the same as the type name returned by GetType().GetTypeName(), since that method may have had additional transformations applied for readability.

SDF_API const TfEnum& SdfValueTypeName::GetDefaultUnit ( ) const

Returns the default unit enum for the type.

SDF_API const VtValue& SdfValueTypeName::GetDefaultValue ( ) const

Returns the default value for the type.

SDF_API SdfTupleDimensions SdfValueTypeName::GetDimensions ( ) const

Returns the dimensions of the scalar value, e.g. 3 for a 3D point.

SDF_API size_t SdfValueTypeName::GetHash ( ) const

Returns a hash value for this type name.

SDF_API const TfToken& SdfValueTypeName::GetRole ( ) const

Returns the type's role.

SDF_API SdfValueTypeName SdfValueTypeName::GetScalarType ( ) const

Returns the scalar version of this type name if it's an array type name, otherwise returns this type name. If there is no scalar type name then this returns the invalid type name.

SDF_API const TfType& SdfValueTypeName::GetType ( ) const

Returns the TfType of the type.

SDF_API bool SdfValueTypeName::IsArray ( ) const

Returns true iff this type is an array. The invalid type is considered neither scalar nor array.

SDF_API bool SdfValueTypeName::IsScalar ( ) const

Returns true iff this type is a scalar. The invalid type is considered neither scalar nor array.

SdfValueTypeName::operator bool ( ) const
inlineexplicit

Explicit bool conversion operator. Converts to true if this is a valid, non-empty type, false otherwise.

Definition at line 168 of file valueTypeName.h.

SDF_API bool SdfValueTypeName::operator== ( const SdfValueTypeName rhs) const

Returns true if this type name is equal to rhs. Aliases compare equal.

SDF_API bool SdfValueTypeName::operator== ( const std::string rhs) const

Returns true if this type name is equal to rhs. Aliases compare equal. Avoid relying on this overload.

SDF_API bool SdfValueTypeName::operator== ( const TfToken rhs) const

Returns true if this type name is equal to rhs. Aliases compare equal. Avoid relying on this overload.

Friends And Related Function Documentation

friend struct Sdf_ValueTypePrivate
friend

Definition at line 180 of file valueTypeName.h.

friend class Sdf_ValueTypeRegistry
friend

Definition at line 179 of file valueTypeName.h.


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