24 #ifndef PXR_USD_KIND_REGISTRY_H
25 #define PXR_USD_KIND_REGISTRY_H
30 #include "pxr/usd/kind/api.h"
36 #include <boost/noncopyable.hpp>
37 #include <unordered_map>
40 PXR_NAMESPACE_OPEN_SCOPE
103 virtual ~KindRegistry();
105 bool _HasKind(
const TfToken& kind)
const;
109 bool _IsA(
const TfToken& derivedKind,
const TfToken &baseKind)
const;
111 std::vector<TfToken> _GetAllKinds()
const;
116 void _Register(
const TfToken& kind,
119 void _RegisterDefaults();
125 typedef std::unordered_map<TfToken, _KindData, TfToken::HashFunctor>
134 PXR_NAMESPACE_CLOSE_SCOPE
136 #endif // PXR_USD_KIND_REGISTRY_H
Manage a single instance of an object.
Manage a single instance of an object (see.
Token for efficient comparison, assignment, and hashing of known strings.
A singleton that holds known kinds and information about them.
static KIND_API bool IsA(const TfToken &derivedKind, const TfToken &baseKind)
Test whether derivedKind is the same as baseKind or has it as a base kind (either directly or indirec...
static KIND_API TfToken GetBaseKind(const TfToken &kind)
Return the base kind of the given kind.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
static KIND_API KindRegistry & GetInstance()
Return the single KindRegistry instance.
static KIND_API std::vector< TfToken > GetAllKinds()
Return an unordered vector of all kinds known to the registry.
This file defines some macros that are useful for declaring and using static TfTokens.
static KIND_API bool HasKind(const TfToken &kind)
Test whether kind is known to the registry.
Enable a concrete base class for use with TfWeakPtr.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...