7#ifndef PXR_USD_AR_DEFINE_PACKAGE_RESOLVER_H
8#define PXR_USD_AR_DEFINE_PACKAGE_RESOLVER_H
14#include "pxr/usd/ar/api.h"
18#include "pxr/base/tf/type.h"
20PXR_NAMESPACE_OPEN_SCOPE
33#define AR_DEFINE_PACKAGE_RESOLVER(PackageResolverClass, BaseClass1, ...)
36#define AR_DEFINE_PACKAGE_RESOLVER(...) \
37TF_REGISTRY_FUNCTION(TfType) { \
38 Ar_DefinePackageResolver<__VA_ARGS__>(); \
41class Ar_PackageResolverFactoryBase
46 virtual ~Ar_PackageResolverFactoryBase();
53class Ar_PackageResolverFactory
54 :
public Ar_PackageResolverFactoryBase
63template <
class PackageResolver,
class ...Bases>
64void Ar_DefinePackageResolver()
67 .
template SetFactory<Ar_PackageResolverFactory<PackageResolver>>();
72PXR_NAMESPACE_CLOSE_SCOPE
Interface for resolving assets within package assets.
Base class of all factory types.
static TfType const & Define()
Define a TfType with the given C++ type T and C++ base types B.
A type-list of C++ base types.