maxon::corenodes::details Namespace Reference

Classes

struct   AddDimension
struct   AddDimension< void, N >
class   ArrayElementAccess
struct   CoreNodeFactoryFunctionHelper
struct   CoreNodeFactoryFunctionHelper< true >
class   DirectPortAccess
class   IndexedPort
class   IndexedPortAccess
class   MappedPortAccess
class   MethodWrapper
class   OperatorMicroNode
class   OperatorNodeBase
class   OperatorNodeBase< ParameterPack< IN >, 0 >
class   OperatorNodeHelper
class   OperatorNodeHelper< OP, RESULT, TYPES, std::index_sequence< I... > >
class   PortArrayAccess
class   PortDefBase
class   PortDefBaseCtor
class   PortDefBaseCtor< C, MICRO, HASH, LOCAL, STATE, MEMBERS, void, -1 >
class   PortMembers
class   PortOps
class   PortOpsBase
class   PortOpsBase< T &, ACCESS >
struct   选择
struct   SetParameters
struct   SetParameters< CORENODE, typename SFINAEHelper< void, typename CORENODE::Parameters >::type >
struct   SourceCodePortId

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

函数

template<typename N , typename... ARGS>
Result < typename std::decay< typename GetSignature < decltype(&N::Init)>::Parameters::template At< 0 >::type >::type >  CreateNode ( 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 >::type >  CreateNode ( 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 < CString InvokeGetLlvmAssembly (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

using GetLlvmAssemblyFn = Result < CString >(*)(const MicroNode::Base *, const LlvmGlobalsReceiver & globals)

◆  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

using UnannotatedTypeHelper = typename SubstituteType <T, UnannotatedType >::type

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 >()

Int maxon::corenodes::details::ComputeLinearIndex < Char > ( const Int index )

◆  ComputeLinearIndex() [2/2]

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