HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
APEX_Types.h File Reference
#include "APEX_API.h"
#include "APEX_Include.h"
#include <UT/UT_Array.h>
#include <UT/UT_ArrayMap.h>
#include <UT/UT_ArrayStringMap.h>
#include <UT/UT_Assert.h>
#include <UT/UT_Debug.h>
#include <UT/UT_StringHolder.h>
#include <SYS/SYS_StaticAssert.h>
#include <SYS/SYS_Compiler.h>
#include <SYS/SYS_Types.h>
#include <SYS/SYS_TypeTraits.h>
#include <new>
#include <typeindex>
#include <typeinfo>
#include <utility>
#include <stddef.h>
+ Include dependency graph for APEX_Types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  apex::APEX_TypeDefinitionBase
 
struct  apex::APEX_TypeDefault< T >
 Compile-time information about the default initialization to use for a type visible to the APEX type system. More...
 
struct  apex::APEX_TypeDefault< Vector2 >
 
struct  apex::APEX_TypeDefault< Vector3 >
 
struct  apex::APEX_TypeDefault< Vector4 >
 
struct  apex::APEX_TypeDefault< Matrix3 >
 
struct  apex::APEX_TypeDefault< Matrix4 >
 
struct  apex::detail::APEX_TypeDefaultIsSpecialized< T, typename >
 
struct  apex::detail::APEX_TypeDefaultIsSpecialized< T, SYS_Void_t< decltype(APEX_TypeDefault< T >::isDefaultConstructing)> >
 
class  apex::APEX_TypeTraits< T >
 
struct  apex::APEX_IsCompoundType< T, typename >
 
struct  apex::APEX_IsCompoundType< T, SYS_Void_t< typename T::value_type > >
 Check if an APEX type wraps another type (for example, VariadicArg) More...
 
class  apex::APEX_VoidTypeDefinition
 
struct  apex::APEX_IsArrayType< typename >
 
class  apex::ApexArray< T >
 
struct  apex::APEX_IsArrayType< ApexArray< T > >
 
struct  apex::APEX_IsVariadicType< typename >
 
struct  apex::APEX_IsVariadicType< VariadicArg< T > >
 
class  apex::APEX_TypeDefinition< T >
 
class  apex::APEX_TypeDefinition< void >
 

Namespaces

 apex
 
 apex::detail
 

Macros

#define APEX_DEF_TYPE_NAME(t)   static APEX_TypeDefinition<t> t_dfn_##t{ #t };
 
#define APEX_DEF_TYPE_NAME_N(t, n)   static APEX_TypeDefinition<t> t_dfn_##n{ #t };
 
#define APEX_DEF_TYPE_RUNDATA(c)   inline static APEX_TypeDefinition<RunData> t_dfn_##c{ #c"::RunData" };
 
#define APEX_DEF_TYPE_NAME_BASIC(type)
 Defines the type, its array, and variadic arg variants at the same time. More...
 
#define APEX_DEF_TYPE_NAME_FULL(type)
 

Functions

APEX_API UT_ArrayStringMap
< const
APEX_TypeDefinitionBase * > & 
apex::APEXtypeDefinitions ()
 

Variables

template<typename T >
constexpr auto apex::detail::APEX_TypeDefaultIsSpecialized_v = APEX_TypeDefaultIsSpecialized<T>::value
 
APEX_API APEX_VoidTypeDefinition apex::void_type_defn
 

Macro Definition Documentation

#define APEX_DEF_TYPE_NAME (   t)    static APEX_TypeDefinition<t> t_dfn_##t{ #t };

Definition at line 482 of file APEX_Types.h.

#define APEX_DEF_TYPE_NAME_BASIC (   type)
Value:
APEX_DEF_TYPE_NAME_N(VariadicArg<type>, VariadicArg_##type) \
#define APEX_DEF_TYPE_NAME(t)
Definition: APEX_Types.h:482
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:108
#define APEX_DEF_TYPE_NAME_N(t, n)
Definition: APEX_Types.h:483

Defines the type, its array, and variadic arg variants at the same time.

Definition at line 488 of file APEX_Types.h.

#define APEX_DEF_TYPE_NAME_FULL (   type)
Value:
APEX_DEF_TYPE_NAME_N(VariadicArg<type##Array>, VariadicArg_##type##Array) \
Definition: ImfArray.h:45
#define APEX_DEF_TYPE_NAME_BASIC(type)
Defines the type, its array, and variadic arg variants at the same time.
Definition: APEX_Types.h:488
#define APEX_DEF_TYPE_NAME(t)
Definition: APEX_Types.h:482
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:108
#define APEX_DEF_TYPE_NAME_N(t, n)
Definition: APEX_Types.h:483

Definition at line 492 of file APEX_Types.h.

#define APEX_DEF_TYPE_NAME_N (   t,
  n 
)    static APEX_TypeDefinition<t> t_dfn_##n{ #t };

Definition at line 483 of file APEX_Types.h.

#define APEX_DEF_TYPE_RUNDATA (   c)    inline static APEX_TypeDefinition<RunData> t_dfn_##c{ #c"::RunData" };
Examples:
APEX/apex_external_test.C.

Definition at line 484 of file APEX_Types.h.