maxon::corenodes::details Namespace Reference

Classes

struct  CoreNodeFactoryFunctionHelper
 
struct  CoreNodeFactoryFunctionHelper< true >
 
struct  SetParameters
 
struct  SetParameters< CORENODE, typename SFINAEHelper< void, typename CORENODE::Parameters >::type >
 
class  OperatorNodeBase
 
class  OperatorNodeBase< IN >
 
class  OperatorNodeBase< IN1, IN2 >
 
class  OperatorNodeBase< IN1, IN2, IN3 >
 
class  OperatorNodeBase< IN1, IN2, IN3, IN4 >
 
class  OperatorNodeBase< IN1, IN2, IN3, IN4, IN5 >
 
struct  ProcessWrapper
 
struct  ProcessWrapper< Result< void >(MN::*)(PORTS &) const, MODE >
 
struct  HasProcessMethodTemplate
 
struct  HasProcessMethodTemplate< MN, typename SFINAEHelper< void, decltype(&MN::template Process< PortsMode< PORTS_MODE::NONE >>)>::type >
 
struct  PortTypeWrapper
 
class  DirectPortAccess
 
class  MappedPortAccess
 
class  PortOps
 
class  PortOps< ACCESS, true >
 
class  PortDef
 
class  PortArrayAccess
 
struct  Select
 
class  PortMembers
 
struct  PortsMode
 
struct  PortsAccessHelper
 
struct  PortsAccessHelper< MODE, PortsMode< MODE2 >, PORTS... >
 

Typedefs

using ProcessFunction = Result< void >(*)(const MicroNode *, VarAccess &)
 
using InitUserDataFn = Result< void >(*)(const MicroNode::Base *, GenericData &data, const Block< const DataType > &)
 
using GetLlvmAssemblyFn = Result< CString >(*)(const MicroNode::Base *, const LlvmGlobalsReceiver &globals)
 
template<typename T >
using MyBegin = typename T::Begin
 
template<typename T >
using UnannotatedTypeHelper = typename SubstituteType< T, UnannotatedType >::type
 

Functions

template<typename N , typename... ARGS>
Result< typename std::decay< typename GetSignature< decltype(&N::Init)>::Parameters::template At< 0 >::type >::typeCreateNode (OverloadRank0, const Id &nodeId, ARGS &&... args)
 
template<typename N , typename = decltype(&N::GetPortType), typename... ARGS>
Result< typename std::decay< typename GetSignature< decltype(&N::Init)>::Parameters::template At< 0 >::type >::typeCreateNode (OverloadRank1, const Id &nodeId, ARGS &&... args)
 
 MAXON_MEMBERFUNCTION_DETECTOR (Optimize)
 
template<typename NODE , typename = typename std::enable_if<maxon::corenodes::details::HasOptimize<NODE>::value>::type>
Result< void > AddOptimizer (DataDictionary &meta, Bool dummy=false)
 
template<typename NODE , typename = typename std::enable_if<!maxon::corenodes::details::HasOptimize<NODE>::value>::type>
ResultOk< void > AddOptimizer (DataDictionary &meta)
 
template<typename MN , typename MT , MT METHOD, typename T >
static Result< void > InvokeInitUserData (const MicroNode::Base *node, GenericData &data, const Block< const DataType > &types)
 
template<typename MN , typename MT , MT METHOD, typename T >
static InitUserDataFn GetInitUserData (Result< T >(MN::*)(const Block< const DataType > &) const, MicroNode::Base &node)
 
template<typename MN , typename MT , MT METHOD>
static InitUserDataFn GetInitUserData (void(*)(), MicroNode::Base &)
 
template<typename MN , typename MT , MT METHOD>
static Result< CStringInvokeGetLlvmAssembly (const MicroNode::Base *node, const LlvmGlobalsReceiver &globals)
 
template<typename MN , typename MT , MT METHOD>
static GetLlvmAssemblyFn GetGetLlvmAssembly (Result< CString >(MN::*)(const LlvmGlobalsReceiver &) const, MicroNode::Base &node)
 
template<typename MN , typename MT , MT METHOD>
static GetLlvmAssemblyFn GetGetLlvmAssembly (void(*)(const LlvmGlobalsReceiver &), MicroNode::Base &)
 
template<typename MN , typename MT , MT METHOD>
static GetLlvmAssemblyFn GetGetLlvmAssembly (void(MN::*)(const LlvmGlobalsReceiver &) const, MicroNode::Base &)
 
template<typename T >
PortTypeWrapper< T > GetPortTypeWrapper ()
 
template<const auto & A>
std::decay_t< decltype(A)> GetPortTypeWrapper ()
 

Typedef Documentation

◆ ProcessFunction

using ProcessFunction = Result<void>(*)(const MicroNode*, VarAccess&)

◆ InitUserDataFn

using InitUserDataFn = Result<void>(*)(const MicroNode::Base*, GenericData& data, const Block<const DataType>&)

◆ GetLlvmAssemblyFn

◆ MyBegin

using MyBegin = typename T::Begin

◆ UnannotatedTypeHelper

Function Documentation

◆ CreateNode() [1/2]

Result<typename std::decay<typename GetSignature<decltype(&N::Init)>::Parameters::template At<0>::type>::type> maxon::corenodes::details::CreateNode ( OverloadRank0  ,
const Id nodeId,
ARGS &&...  args 
)

◆ CreateNode() [2/2]

Result<typename std::decay<typename GetSignature<decltype(&N::Init)>::Parameters::template At<0>::type>::type> maxon::corenodes::details::CreateNode ( OverloadRank1  ,
const Id nodeId,
ARGS &&...  args 
)

◆ MAXON_MEMBERFUNCTION_DETECTOR()

maxon::corenodes::details::MAXON_MEMBERFUNCTION_DETECTOR ( Optimize  )

◆ AddOptimizer() [1/2]

Result<void> maxon::corenodes::details::AddOptimizer ( DataDictionary &  meta,
Bool  dummy = false 
)

◆ AddOptimizer() [2/2]

ResultOk<void> maxon::corenodes::details::AddOptimizer ( DataDictionary &  meta)

◆ InvokeInitUserData()

static Result<void> maxon::corenodes::details::InvokeInitUserData ( const MicroNode::Base node,
GenericData data,
const Block< const DataType > &  types 
)
static

◆ GetInitUserData() [1/2]

static InitUserDataFn maxon::corenodes::details::GetInitUserData ( Result< T >(MN::*)(const Block< const DataType > &) const  ,
MicroNode::Base node 
)
static

◆ GetInitUserData() [2/2]

static InitUserDataFn maxon::corenodes::details::GetInitUserData ( void(*)()  ,
MicroNode::Base  
)
static

◆ InvokeGetLlvmAssembly()

static Result<CString> maxon::corenodes::details::InvokeGetLlvmAssembly ( const MicroNode::Base node,
const LlvmGlobalsReceiver globals 
)
static

◆ GetGetLlvmAssembly() [1/3]

static GetLlvmAssemblyFn maxon::corenodes::details::GetGetLlvmAssembly ( Result< CString >(MN::*)(const LlvmGlobalsReceiver &) const  ,
MicroNode::Base node 
)
static

◆ GetGetLlvmAssembly() [2/3]

static GetLlvmAssemblyFn maxon::corenodes::details::GetGetLlvmAssembly ( void(*)(const LlvmGlobalsReceiver &)  ,
MicroNode::Base  
)
static

◆ GetGetLlvmAssembly() [3/3]

static GetLlvmAssemblyFn maxon::corenodes::details::GetGetLlvmAssembly ( void(MN::*)(const LlvmGlobalsReceiver &) const  ,
MicroNode::Base  
)
static

◆ GetPortTypeWrapper() [1/2]

PortTypeWrapper<T> maxon::corenodes::details::GetPortTypeWrapper ( )

◆ GetPortTypeWrapper() [2/2]

std::decay_t<decltype(A)> maxon::corenodes::details::GetPortTypeWrapper ( )