FrameData Class Reference

#include <micronodes_runtime.h>

Detailed Description

FrameData gives access to the runtime storage where members of a Frame are stored during execution.

Public Member Functions

const FrameDataGetParent () const
 
const FrameDataGetAncestor (const Frame &frame) const
 
const FrameDataGetAncestor (Int count) const
 
Int GetIndex () const
 
Int GetBlockEnd () const
 
Int GetCount () const
 
const ViewIteratorMemberGetMember (Int offset) const
 
template<typename T >
T & Get (Int offset)
 
const ViewIteratorMemberGetMember (const FrameMember &fm) const
 
const FrameGetFrame () const
 

Static Public Attributes

static constexpr const CharLLVM_TYPE
 
static constexpr Char LLVM_MEMBER_INDEX
 
static constexpr Char LLVM_MEMBER_BLOCK_END
 

Private Member Functions

 FrameData (const FrameData *parent, const Frame *frame)
 
 ~FrameData ()
 

Private Attributes

const FrameData *const _parent
 
const Frame *const _frame
 
Int _index
 
Int _blockEnd
 
Int _count
 

Friends

class FrameDataRef
 
class FrameImpl
 
class FrameDataImpl
 

Constructor & Destructor Documentation

◆ FrameData()

FrameData ( const FrameData parent,
const Frame frame 
)
private

◆ ~FrameData()

~FrameData ( )
private

Member Function Documentation

◆ GetParent()

const FrameData* GetParent ( ) const

◆ GetAncestor() [1/2]

const FrameData* GetAncestor ( const Frame frame) const

◆ GetAncestor() [2/2]

const FrameData& GetAncestor ( Int  count) const

◆ GetIndex()

Int GetIndex ( ) const

◆ GetBlockEnd()

Int GetBlockEnd ( ) const

◆ GetCount()

Int GetCount ( void  ) const

Returns the data type of the member.

Returns
The member's data type.

◆ GetMember() [1/2]

const ViewIteratorMember& GetMember ( Int  offset) const

◆ Get()

T& Get ( Int  offset)

◆ GetMember() [2/2]

const ViewIteratorMember& GetMember ( const FrameMember &  fm) const

◆ GetFrame()

const Frame& GetFrame ( ) const

Friends And Related Function Documentation

◆ FrameDataRef

friend class FrameDataRef
friend

◆ FrameImpl

friend class FrameImpl
friend

◆ FrameDataImpl

friend class FrameDataImpl
friend

Member Data Documentation

◆ LLVM_TYPE

constexpr const Char* LLVM_TYPE
staticconstexpr

◆ LLVM_MEMBER_INDEX

constexpr Char LLVM_MEMBER_INDEX
staticconstexpr

◆ LLVM_MEMBER_BLOCK_END

constexpr Char LLVM_MEMBER_BLOCK_END
staticconstexpr

◆ _parent

const FrameData* const _parent
private

◆ _frame

const Frame* const _frame
private

◆ _index

Int _index
private

◆ _blockEnd

Int _blockEnd
private

◆ _count

Int _count
private