This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Runtime Typing

Classes having to do with run-time typing. More...

+ Collaboration diagram for Runtime Typing:

Files

file  enum.h
 
file  safeTypeCompare.h
 Safely compare C++ RTTI type structures.
 
file  typeInfoMap.h
 

Classes

class  TfEnum
 An enum class that records both enum type and enum value. More...
 
class  TfTypeInfoMap< VALUE >
 A map whose key is a const std::type_info&, or a string alias. More...
 

Macros

#define TF_ADD_ENUM_NAME(VAL, ...)
 Macro used to associate a name with an enumerated value.
 

Detailed Description

Classes having to do with run-time typing.

Macro Definition Documentation

◆ TF_ADD_ENUM_NAME

#define TF_ADD_ENUM_NAME (   VAL,
  ... 
)

Macro used to associate a name with an enumerated value.

TF_ADD_ENUM_NAME() registers a name for an enumerated value so that the association can be accessed in calls to TfEnum::GetValueFromName(), TfEnum::GetValueFromFullName(), TfEnum::GetName(), and TfEnum::GetFullName(). It's first argument, VAL, is the symbolic name of the enumerated value or a TfEnum instance constructed from it. The name defined for the value is created by putting double quotes around the VAL argument.

An optional second argument, DISPLAY, is a name to be used for display purposes (i.e. in a user interface). The display name can contain characters like spaces and punctuation, and does not need to be a unique string. If this argument is not specified, the display name will be derived from VAL.

Only the names for which TF_ADD_ENUM_NAME() is called will be accessible with the name/value methods; you can hide values from this mechanism by not adding them.

Please note that the best way to call TF_ADD_ENUM_NAME() is using the TfRegistryManager macro TF_REGISTRY_FUNCTION().

Definition at line 457 of file enum.h.