Free Electron
Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
fe::LayoutSB Class Reference

Record "type" definition. More...

#include <LayoutSB.h>

Inheritance diagram for fe::LayoutSB:
Inheritance graph
[legend]

Public Types

typedef FE_UWORD Offset
 

Public Member Functions

 LayoutSB (sp< Scope > &scope)
 
 LayoutSB (sp< Scope > &scope, const String &name)
 
 LayoutSB (Scope *pScope, const String &name)
 
LayoutSBcopy (const LayoutSB &other)
 
virtual void initialize (void)
 
virtual void populate (const String &attribute_name)
 Convienience function to Scope::populate. More...
 
virtual void populate (const String &attribute_name, const String &attribute_type)
 Convienience function to Scope::populate. More...
 
virtual void populate (const BaseAccessor &accessor)
 Convienience function to Scope::populate. More...
 
virtual void populate (sp< Attribute > spAttribute)
 Convienience function to Scope::populate. More...
 
void populate (sp< LayoutSB > spLayoutSB)
 Convienience function to Scope::populate. More...
 
virtual void setName (const String &name)
 
virtual const Stringname (void) const
 
virtual const String verboseName (void) const
 
virtual void setConstruct (bool construct)
 
virtual const bool & construct (void) const
 
virtual hp< Scope > & scope (void)
 
virtual void peek (Peeker &peeker)
 
virtual FE_UWORD attributeCount (void) const
 
virtual sp< Attributeattribute (FE_UWORD localIndex)
 
RecordSB createRecord (void)
 
virtual bool checkAttribute (FE_UWORD aLocator) const
 
virtual bool checkAttributeStr (const String &a_name)
 
virtual void resizeLocatorTable (FE_UWORD aSize)
 
void createRecord (RecordSB &r_new)
 
void freeRecord (RecordSB &r_old)
 
virtual void notifyOfAttributeChange (sp< Depend > &depend)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 

Static Public Attributes

static const FE_DL_PUBLIC Offset offsetNone = 0xFFFFFFFF
 

Private Member Functions

 LayoutSB (const LayoutSB &other)
 
LayoutSBoperator= (const LayoutSB &other)
 
void setOffsetTable (Offset *offset_table)
 
const Offset * offsetTable (void) const
 
const Offset * rawOffsetTable (void) const
 
void setSize (const FE_UWORD record_size)
 
FE_UWORD size (void) const
 Size of an instance of the layout. More...
 
void setLocked (bool locked)
 
const bool & locked (void) const
 
void lock (void)
 
void depAttributeCheck (sp< Depend > &depend)
 
void depRecordCheck (sp< Depend > &depend)
 
void constructAttributes (void *stateBlock)
 
void destructAttributes (void *stateBlock)
 
void constructor (sp< Scope > &scope)
 
void cacheIndices (void)
 
void setOffset (const FE_UWORD index, const Offset offset)
 
unsigned int serialIndex (void) const
 

Private Attributes

String m_name
 
bool m_init
 
bool m_construct
 
bool m_suppressLock
 
Offset * m_pTable
 
Offset m_size
 
hp< Scopem_hpScope
 
std::vector< FE_UWORD > m_offsetIndex
 
sp< StoreIm_store
 
sp< OffsetTable > m_offsetTable
 
unsigned int m_serialIndex
 

Friends

class RecordSB
 
class WeakRecordSB
 
class RecordArraySB
 
class SegmentStore
 
class LayoutSB::OffsetTable
 

Additional Inherited Members

- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Detailed Description

Record "type" definition.

A Layout is a definition of Attribute layout in Record instances.

Layout objects can only be created via a Scope. For typical use all operations on Layout objects are also done through Scope methods.

Todo:
full data system guide

Member Function Documentation

◆ populate() [1/5]

void fe::LayoutSB::populate ( const String attribute_name)
virtual

Convienience function to Scope::populate.

◆ populate() [2/5]

void fe::LayoutSB::populate ( const String attribute_name,
const String attribute_type 
)
virtual

Convienience function to Scope::populate.

◆ populate() [3/5]

void fe::LayoutSB::populate ( const BaseAccessor accessor)
virtual

Convienience function to Scope::populate.

This particular one does a check if the layout is locked and if so verifys the exsitence of the attribute.

◆ populate() [4/5]

void fe::LayoutSB::populate ( sp< Attribute spAttribute)
virtual

Convienience function to Scope::populate.

◆ populate() [5/5]

void fe::LayoutSB::populate ( sp< LayoutSB spLayoutSB)

Convienience function to Scope::populate.

◆ size()

FE_UWORD fe::LayoutSB::size ( void  ) const
inlineprivate

Size of an instance of the layout.


The documentation for this class was generated from the following files: