Free Electron
Public Member Functions | Public Attributes | List of all members
fe::ext::Operator Class Reference

Operator RecordView. More...

#include <Operator.h>

Inheritance diagram for fe::ext::Operator:
Inheritance graph
[legend]

Public Member Functions

void addFunctors (void)
 Called at instantiation to add functors. More...
 
virtual void initializeRecord (void)
 Called at instantiation to initialize attributes. More...
 
- Public Member Functions inherited from fe::ext::RecordView
void setName (const String &name)
 
const String verboseName (void) const
 
void bind (sp< Scope > &rspScope)
 Associate with a Scope. More...
 
void bind (hp< Scope > &rhpScope)
 Associate with a Scope by Handle. More...
 
hp< Scope > & scope (void)
 Return associated Scope. More...
 
void unbind (void)
 Disassociate with any Record. More...
 
void bind (const Record record, BWORD weak=FALSE)
 Associate with a specific Record. More...
 
void bind (const WeakRecord weakRecord, BWORD weak=FALSE)
 Associate with a specific WeakRecord. More...
 
void setWeakRecord (const WeakRecord weakRecord)
 Associate with a specific WeakRecord. More...
 
virtual void produce (Record &rRecord)
 Produce a Record using all the attributes. More...
 
virtual void finalize (Record &rRecord)
 Finalize a Record using all the attributes. More...
 
Record createRecord (void)
 Create a Record using all the attributes. More...
 
WeakRecord record (void) const
 Access the record by weak (fast) reference. More...
 
sp< Layout > layout (void)
 Access a Layout of all the attributes. More...
 
void dump (void)
 Spew attributes and state for the bound Record. More...
 
virtual void finalizeRecord (void)
 Called right after instantiation to finalize complex attributes. More...
 
void setName (const String &name)
 
const String verboseName (void) const
 
void bind (sp< Scope > &rspScope)
 Associate with a Scope. More...
 
void bind (hp< Scope > &rhpScope)
 Associate with a Scope by Handle. More...
 
hp< Scope > & scope (void)
 Return associated Scope. More...
 
void bind (const sp< RecordArray > &rspRecordArray)
 Associate with a specific RecordArray. More...
 
void unbind (void)
 Disassociate with any Record or RecordArray. More...
 
void bind (const Record record, BWORD weak=FALSE)
 Associate with a specific Record. More...
 
void bind (const WeakRecord weakRecord, BWORD weak=FALSE)
 
void setIndex (U32 index)
 Set the index into the bound RecordArray. More...
 
BWORD step (void)
 Step through the records in the array. More...
 
U32 index (void)
 Return the current index into the RecordArray. More...
 
virtual void produce (Record &rRecord)
 Produce a Record using all the attributes. More...
 
virtual void finalize (Record &rRecord)
 Finalize a Record using all the attributes. More...
 
Record createRecord (void)
 Create a Record using all the attributes. More...
 
WeakRecord record (void) const
 Access the record by weak (fast) reference. More...
 
sp< Layout > layout (void)
 Access a Layout of all the attributes. More...
 
void dump (void)
 Spew attributes and state for the bound Record. More...
 
virtual void finalizeRecord (void)
 Called right after instantiation to finalize complex attributes. More...
 
- Public Member Functions inherited from fe::AccessorSet
 AccessorSet (sp< Scope > spScope)
 
virtual FE_UWORD size (void) const
 
virtual BaseAccessoroperator[] (FE_UWORD index)
 
bool operator== (const AccessorSet &a_aset) const
 
bool operator< (const AccessorSet &a_aset) const
 
bool bind (const WeakRecord a_record)
 
void bind (sp< Scope > spScope)
 
virtual void populate (sp< Layout > spLayout)
 
void enforceHaving (const AccessorSet &a_other)
 
bool bindCheck (sp< Layout > spLayout)
 
bool check (sp< LayoutSB > spLayout)
 
bool check (sp< LayoutAV > spLayout)
 
bool bindCheck (sp< RecordArray > spRA)
 
bool check (sp< RecordArray > spRA)
 
bool check (const WeakRecord &a_record)
 
bool check (const Record &a_record)
 
void check (const WeakRecord a_record, const char *a_annotation)
 
void enforce (const String &a_ifHas)
 
void filter (sp< RecordGroup > rg_output, sp< RecordGroup > rg_input)
 
hp< Scopescope (void)
 
void filter (std::vector< Record > &a_records, sp< RecordGroup > rg_input)
 
void filter (std::vector< WeakRecord > &a_records, sp< RecordGroup > rg_input)
 
const t_bitset & bitset (void) const
 
void setBitset (const t_bitset &a_bs)
 
void add (BaseAccessor &a_accessor, const String &a_attribute)
 
void add (BaseAccessor &a_accessor)
 
void attach (const WeakRecord &a_record)
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 

Public Attributes

Functor< sp< RecordGroup > > input
 
Functor< sp< RecordGroup > > output
 
Functor< Recordchoice
 
Functor< I32 > serial
 
- Public Attributes inherited from fe::ext::RecordView
Accessor< int > count
 

Additional Inherited Members

- Static Public Member Functions inherited from fe::ext::RecordView
template<typename T >
static void registerFactory (sp< Scope > spScope)
 Indicate a RecordFactoryI for a Scope. More...
 
static sp< RecordGrouploadRecordGroup (sp< Scope > spScope, String filename, BWORD a_binary=FALSE)
 Load a RecordGroup from a file. More...
 
static sp< RecordGrouploadRecordGroupFromBuffer (sp< Scope > spScope, String buffer, BWORD a_binary=FALSE)
 Serialize a RecordGroup from a string. More...
 
static void saveRecordGroup (sp< Scope > spScope, sp< RecordGroup > &rspRecordGroup, String filename, BWORD a_binary=FALSE)
 Save a RecordGroup to a file. More...
 
template<typename T >
static void registerFactory (sp< Scope > spScope)
 Indicate a RecordFactoryI for a Scope. More...
 
static sp< RecordGrouploadRecordGroup (sp< Scope > spScope, String filename, BWORD a_binary=FALSE)
 Load the root RecordGroup from a file. More...
 
static sp< RecordGrouploadRecordGroupFromBuffer (sp< Scope > spScope, String buffer, BWORD a_binary=FALSE)
 
static void saveRecordGroup (sp< Scope > spScope, sp< RecordGroup > &rspRecordGroup, String filename, BWORD a_binary=FALSE)
 Save the root RecordGroup to a file. More...
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 
- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::ext::RecordView
void add (BaseAccessor &rFunctor, const char *name)
 Add an attribute Functor. More...
 
 RecordView (const RecordView &rRecordView)
 
void add (BaseAccessor &rFunctor, const char *name)
 Add an attribute Functor. More...
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 
- Protected Attributes inherited from fe::AccessorSet
hp< Scopem_hpScope
 
Array< BaseAccessor * > m_accessors
 
t_bitset m_bitset
 
WeakRecord m_optional_record
 

Detailed Description

Operator RecordView.

A step in a pipeline.

Member Function Documentation

◆ addFunctors()

void fe::ext::Operator::addFunctors ( void  )
inlinevirtual

Called at instantiation to add functors.

In addition to using add() to explicitly adding all the functors for a particular class, the implementation of this function should first call addFunctors() for all directly inherited classes that are indirectly or directly derived from RecordView().

Implements fe::ext::RecordView.

◆ initializeRecord()

virtual void fe::ext::Operator::initializeRecord ( void  )
inlinevirtual

Called at instantiation to initialize attributes.

In addition to setting any attributes, the implementation of this function should first call initializeRecord() for all directly inherited classes that are indirectly or directly derived from RecordView().

Functors can be used as accessors at this point.

Reimplemented from fe::ext::RecordView.


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