24 #ifndef PXR_USD_AR_DEFINE_PACKAGE_RESOLVER_H 25 #define PXR_USD_AR_DEFINE_PACKAGE_RESOLVER_H 31 #include "pxr/usd/ar/api.h" 35 #include "pxr/base/tf/type.h" 37 PXR_NAMESPACE_OPEN_SCOPE
50 #define AR_DEFINE_PACKAGE_RESOLVER(PackageResolverClass, BaseClass1, ...) 53 #define AR_DEFINE_PACKAGE_RESOLVER(...) \ 54 TF_REGISTRY_FUNCTION(TfType) { \ 55 Ar_DefinePackageResolver<__VA_ARGS__>(); \ 58 class Ar_PackageResolverFactoryBase
63 virtual ~Ar_PackageResolverFactoryBase();
70 class Ar_PackageResolverFactory
71 :
public Ar_PackageResolverFactoryBase
80 template <
class PackageResolver,
class ...Bases>
81 void Ar_DefinePackageResolver()
84 .
template SetFactory<Ar_PackageResolverFactory<PackageResolver>>();
89 PXR_NAMESPACE_CLOSE_SCOPE
91 #endif // PXR_USD_AR_DEFINE_PACKAGE_RESOLVER_H Base class of all factory types.
A type-list of C++ base types.
Interface for resolving assets within package assets.
static TfType const & Define()
Define a TfType with the given C++ type T and C++ base types B.