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< ParameterPack< IN >, 0 >
 
class  OperatorMicroNode
 
class  OperatorNodeHelper
 
class  OperatorNodeHelper< OP, RESULT, TYPES, std::index_sequence< I... > >
 
class  MethodWrapper
 
class  DirectPortAccess
 
class  MappedPortAccess
 
class  ArrayElementAccess
 
class  PortOps
 
class  PortOpsBase
 
class  PortOpsBase< T &, ACCESS >
 
class  IndexedPortAccess
 
class  IndexedPort
 
struct  SourceCodePortId
 
class  PortDefBase
 
class  PortDefBaseCtor
 
class  PortDefBaseCtor< C, MICRO, HASH, FLAGS, MEMBERS, void, -1 >
 
struct  AddDimension
 
struct  AddDimension< void, N >
 
class  PortArrayAccess
 
struct  Select
 
class  PortMembers
 

Typedefs

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 PortValueTypeHelper = typename std::conditional< STD_IS_REPLACEMENT(reference, T), typename std::decay< T >::type, typename std::add_const< T >::type >::type
 
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 DIMENSION >
Int ComputeLinearIndex (const Int *index)
 
template<>
Int ComputeLinearIndex< Char > (const Int *index)
 
template<typename DIMENSION >
Int ComputeLinearIndex (Int index)
 

Typedef Documentation

◆ InitUserDataFn

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

◆ GetLlvmAssemblyFn

◆ MyBegin

using MyBegin = typename T::Begin

◆ PortValueTypeHelper

using PortValueTypeHelper = typename std::conditional<STD_IS_REPLACEMENT(reference, T), typename std::decay<T>::type, typename std::add_const<T>::type>::type

◆ 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

◆ ComputeLinearIndex() [1/2]

Int maxon::corenodes::details::ComputeLinearIndex ( const Int index)

◆ ComputeLinearIndex< Char >()

◆ ComputeLinearIndex() [2/2]

Int maxon::corenodes::details::ComputeLinearIndex ( Int  index)