MicroNode::PortsAccess< ACCESS_FLAGS, PORTS > Class Template Reference

Classes

class  BatchIterator
 
class  EmptyInputMembersIteration
 
class  InputMembers
 
class  Iterator
 
class  Members
 
class  NonEmptyInputMembersIteration
 
class  OutputMembers
 

Public Types

template<typename PORT >
using MemberAccess = typename std::conditional< Bool(ACCESS_FLAGS &PORTSACCESS_FLAGS::DIRECT_ACCESS_TEST), corenodes::details::DirectPortAccess< PORT, PortsAccess >, corenodes::details::MappedPortAccess< PORT, PortsAccess > >::type
 
using Batch = PortsAccess< Or< PORTSACCESS_FLAGS, PORTSACCESS_FLAGS(ACCESS_FLAGS &~PORTSACCESS_FLAGS::BATCH), PORTSACCESS_FLAGS::BATCH_ACCESS >::value, PORTS... >
 
using InputMembersIteration = typename std::conditional< STD_IS_REPLACEMENT(empty, NonEmptyInputMembersIteration), EmptyInputMembersIteration, NonEmptyInputMembersIteration >::type
 
using Access = typename std::conditional<(Int(ACCESS_FLAGS) &Int(PORTSACCESS_FLAGS::BATCH_ACCESS)) !=0, BatchVarAccess< Members::PORTCOUNT >, typename std::conditional<(Int(ACCESS_FLAGS) &Int(PORTSACCESS_FLAGS::CONTAINER_MASK)) !=0, ContainerVarAccess< Members::PORTCOUNT >, VarAccess >::type >::type
 
using BeginEndIterator = typename std::conditional<(Int(ACCESS_FLAGS) &Int(PORTSACCESS_FLAGS::BATCH)) !=0, BatchIterator, Iterator >::type
 
using Ports = PortsAccess
 

Public Member Functions

BeginEndIterator begin ()
 
 PRIVATE_MAXON_RBF_SENTINEL (BeginEndIterator) end()
 
Int GetIndex () const
 
Int GetCount () const
 
Context & GetContext () const
 
template<typename T >
const T & GetUserData () const
 
void PrivateTouch (ACCESS_INDEX member) const
 
Bool IsTimeStamped (ACCESS_INDEX member) const
 
 PortsAccess (Context &context, const GenericContainerInterface *value)
 
 PortsAccess (const VarAccess &access)
 
const AccessGetBaseData () const
 
AccessGetBaseData ()
 

Static Public Member Functions

static void CheckAssertions ()
 

Static Public Attributes

static const Int MEMBER_SIZE
 
static const Bool ExpectConst
 

Private Attributes

Access _data
 

Member Typedef Documentation

◆ MemberAccess

◆ Batch

◆ InputMembersIteration

◆ Access

using Access = typename std::conditional<(Int(ACCESS_FLAGS) & Int(PORTSACCESS_FLAGS::BATCH_ACCESS)) != 0, BatchVarAccess<Members::PORTCOUNT>, typename std::conditional<(Int(ACCESS_FLAGS) & Int(PORTSACCESS_FLAGS::CONTAINER_MASK)) != 0, ContainerVarAccess<Members::PORTCOUNT>, VarAccess>::type>::type

◆ BeginEndIterator

using BeginEndIterator = typename std::conditional<(Int(ACCESS_FLAGS) & Int(PORTSACCESS_FLAGS::BATCH)) != 0, BatchIterator, Iterator>::type

◆ Ports

using Ports = PortsAccess

Constructor & Destructor Documentation

◆ PortsAccess() [1/2]

PortsAccess ( Context &  context,
const GenericContainerInterface value 
)

◆ PortsAccess() [2/2]

PortsAccess ( const VarAccess access)
explicit

Member Function Documentation

◆ begin()

BeginEndIterator begin ( )

◆ PRIVATE_MAXON_RBF_SENTINEL()

PRIVATE_MAXON_RBF_SENTINEL ( BeginEndIterator  )

◆ GetIndex()

Int GetIndex ( ) const

◆ GetCount()

Int GetCount ( void  ) const

◆ GetContext()

Context& GetContext ( ) const

◆ GetUserData()

const T& GetUserData ( ) const

◆ PrivateTouch()

void PrivateTouch ( ACCESS_INDEX  member) const

◆ IsTimeStamped()

Bool IsTimeStamped ( ACCESS_INDEX  member) const

◆ GetBaseData() [1/2]

const Access& GetBaseData ( ) const

◆ GetBaseData() [2/2]

Access& GetBaseData ( )

◆ CheckAssertions()

static void CheckAssertions ( )
static

Member Data Documentation

◆ MEMBER_SIZE

const Int MEMBER_SIZE
static

◆ ExpectConst

const Bool ExpectConst
static

◆ _data

Access _data
private