HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
APEX_Callback.h File Reference
#include "APEX_API.h"
#include "APEX_ParmDict.h"
#include "APEX_Include.h"
#include "APEX_Types.h"
#include <UT/UT_Array.h>
#include <UT/UT_Options.h>
#include <UT/UT_OpUtils.h>
#include <UT/UT_SharedPtr.h>
#include <UT/UT_Span.h>
#include <UT/UT_StringHolder.h>
#include <UT/UT_StringView.h>
#include <UT/UT_Tracing.h>
#include <UT/UT_Tuple.h>
#include <UT/UT_WorkBuffer.h>
#include <SYS/SYS_Math.h>
#include <SYS/SYS_Types.h>
#include <algorithm>
#include <iterator>
#include <string>
#include <type_traits>
#include <utility>
#include <cstddef>
+ Include dependency graph for APEX_Callback.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  apex::APEX_Parm
 
struct  apex::ParmNameComp
 
struct  apex::ParmIterator
 
class  apex::APEX_Signature
 
class  apex::APEX_ParmHandleRef
 
class  apex::APEX_ParmHandle
 
class  apex::APEX_FunctionBase
 
class  apex::APEX_GenericFunction< C, Ts >
 

Namespaces

 apex
 

Typedefs

using apex::APEX_ParmPtr = UT_SharedPtr< APEX_Parm >
 
using apex::APEX_ParmList = UT_Array< APEX_Parm >
 
using apex::APEX_SignaturePtr = UT_SharedPtr< APEX_Signature >
 
using apex::APEX_ArgPtrs = UT_Array< void * >
 

Enumerations

enum  apex::APEX_CallbackType {
  apex::APEX_CallbackType::NOOP, apex::APEX_CallbackType::NORMAL, apex::APEX_CallbackType::IF_BEGIN, apex::APEX_CallbackType::IF_END,
  apex::APEX_CallbackType::LOOP_BEGIN, apex::APEX_CallbackType::LOOP_END
}
 

Functions

template<typename C , typename... Ts, size_t... Index>
void apex::applyArgs (const C &callback, APEX_ArgPtrs &arg_ptrs, std::index_sequence< Index...>)
 
template<typename C , typename... Ts>
void apex::applyArgs (const C &callback, APEX_ArgPtrs &arg_ptrs)
 Invoke the callback with the provided arguments, which are casted to type Ts... More...
 
template<typename T >
void apex::addToSignature (APEX_Signature &sig, const UT_StringHolder &name)
 
template<typename... Ts, size_t... Index>
APEX_Signature apex::makeSignature (UT_Span< const char *const, sizeof...(Ts)> argnames, std::index_sequence< Index...>)
 
template<typename... Ts>
APEX_Signature apex::makeSignature (UT_Span< const char *const, sizeof...(Ts)> argnames)
 
template<typename... Ts>
APEX_Signature apex::makeSignature (std::nullptr_t)
 
std::pair< UT_StringHolder,
UT_StringHolder
apex::APEXsplitNameAndVersion (const char *fullname)
 
template<typename T >
exint apex::APEXfilterCallbacksBySignature (UT_Array< const T * > &callbacks, const APEX_Signature &filter)