7 #ifndef PXR_BASE_PLUG_STATIC_INTERFACE_H
8 #define PXR_BASE_PLUG_STATIC_INTERFACE_H
16 #include <type_traits>
142 template <
class Interface>
146 "Interface type must be abstract.");
189 Interface* _GetPtr()
const
197 return static_cast<Interface*
>(
_ptr);
203 #endif // PXR_BASE_PLUG_STATIC_INTERFACE_H
bool IsInitialized() const
PlugStaticInterface< Interface > This
GLsizei const GLfloat * value
Interface * operator->() const
GLint GLint GLsizei GLint GLenum GLenum type
void *Plug_StaticInterfaceBase::* UnspecifiedBoolType
PLUG_API void _LoadAndInstantiate(const std::type_info &type) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Interface & operator*() const
#define PXR_NAMESPACE_CLOSE_SCOPE
std::atomic< bool > _initialized