Cinfo Class Reference

#include <Cinfo.h>

Collaboration diagram for Cinfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Cinfo (const std::string &name, const Cinfo *baseCinfo, Finfo **finfoArray, unsigned int nFinfos, DinfoBase *d, const string *doc=0, unsigned int numDoc=0, bool banCreation=false)
 Cinfo ()
 Cinfo (const Cinfo &other)
 ~Cinfo ()
void init (Finfo **finfoArray, unsigned int nFinfos)
void registerFinfo (Finfo *f)
FuncId registerOpFunc (const OpFunc *f)
void overrideFunc (FuncId fid, const OpFunc *f)
BindIndex registerBindIndex ()
void postCreationFunc (Id newId, Element *newElm) const
void registerPostCreationFinfo (const Finfo *f)
bool banCreation () const
const OpFuncgetOpFunc (FuncId fid) const
const std::string & name () const
const CinfobaseCinfo () const
const FinfofindFinfo (const string &name) const
unsigned int numBindIndex () const
const map< string, Finfo * > & finfoMap () const
const DinfoBasedinfo () const
bool isA (const string &ancestor) const
void reportFids () const
string getDocs () const
string getBaseClass () const
FinfogetSrcFinfo (unsigned int i) const
unsigned int getNumSrcFinfo () const
FinfogetDestFinfo (unsigned int i) const
unsigned int getNumDestFinfo () const
FinfogetValueFinfo (unsigned int i) const
unsigned int getNumValueFinfo () const
FinfogetLookupFinfo (unsigned int i) const
unsigned int getNumLookupFinfo () const
FinfogetSharedFinfo (unsigned int i)
unsigned int getNumSharedFinfo () const
FinfogetFieldElementFinfo (unsigned int i) const
unsigned int getNumFieldElementFinfo () const
void setNumFinfo (unsigned int v)
const string & srcFinfoName (BindIndex bid) const
const string & destFinfoName (FuncId fid) const

Static Public Member Functions

static const Cinfofind (const std::string &name)
static void makeCinfoElements (Id parent)
static void rebuildOpIndex ()
static const CinfoinitCinfo ()

Detailed Description

Class to manage class information for all the other classes.


Constructor & Destructor Documentation

Cinfo::Cinfo ( const std::string &  name,
const Cinfo baseCinfo,
Finfo **  finfoArray,
unsigned int  nFinfos,
DinfoBase d,
const string *  doc = 0,
unsigned int  numDoc = 0,
bool  banCreation = false 
)

The Cinfo intializer is used for static initialization of all the MOOSE Cinfos. Each MOOSE class must set up a function to build its Cinfo. This function must be called statically in the MOOSE class .cpp file. Note how it takes the base *Cinfo as an argument. This lets us call the base Cinfo initializer when making each Cinfo class, thus ensuring the correct static initialization sequence, despite the somewhat loose semantics for this sequence in most C++ compilers.

Cinfo::Cinfo (  ) 

This initializer is used only as a dummy, to keep Dinfo happy

Cinfo::Cinfo ( const Cinfo other  ) 

This is also a dummy initializer for Dinfo.

Cinfo::~Cinfo (  ) 

Member Function Documentation

bool Cinfo::banCreation (  )  const

True if this class should never be instantiated in MOOSE. This may happen if it is a pure virtual class, or if this Cinfo is for a FieldElement which cannot be created in isolation but only as a child of another class.

const Cinfo * Cinfo::baseCinfo (  )  const
const string & Cinfo::destFinfoName ( FuncId  fid  )  const

Returns the name of the DestFinfo having the specified FuncId, on this Cinfo. Returns "" on failure.

References destFinfoName(), DestFinfo::getFid(), and Finfo::name().

Referenced by destFinfoName(), Msg::getDestFieldsOnE1(), and Msg::getDestFieldsOnE2().

Here is the call graph for this function:

const DinfoBase * Cinfo::dinfo (  )  const

Returns the Dinfo, which manages creation and destruction of the data, and knows about its size.

Referenced by buildFinfoElement(), DataElement::DataElement(), initCinfo(), makeCinfoElements(), DataElement::resize(), DataElement::zombieSwap(), and DataElement::~DataElement().

const Cinfo * Cinfo::find ( const std::string &  name  )  [static]
const Finfo* Cinfo::findFinfo ( const string &  name  )  const
const map< string, Finfo * > & Cinfo::finfoMap (  )  const

Returns the map between name and field info

Referenced by Element::showFields(), and Element::showMsg().

string Cinfo::getBaseClass (  )  const

Return the name of the base class

References name().

Referenced by initCinfo().

Here is the call graph for this function:

Finfo * Cinfo::getDestFinfo ( unsigned int  i  )  const

Return the specified DestFinfo

References dummy(), and getNumDestFinfo().

Referenced by Neutral::getDestFields().

Here is the call graph for this function:

string Cinfo::getDocs (  )  const

Return the documentation string

Referenced by initCinfo().

Finfo * Cinfo::getFieldElementFinfo ( unsigned int  i  )  const

Return the specified FieldElementFinfo

References dummy(), and getNumFieldElementFinfo().

Here is the call graph for this function:

Finfo * Cinfo::getLookupFinfo ( unsigned int  i  )  const

Return the specified LookupFinfo

References dummy(), and getNumLookupFinfo().

Here is the call graph for this function:

unsigned int Cinfo::getNumDestFinfo (  )  const

Return number of DestFinfo

References getNumDestFinfo().

Referenced by Neutral::getDestFields(), getDestFinfo(), getNumDestFinfo(), and testCinfoFields().

Here is the call graph for this function:

unsigned int Cinfo::getNumFieldElementFinfo (  )  const

Return number of FieldElementFinfos

References getNumFieldElementFinfo().

Referenced by getFieldElementFinfo(), and getNumFieldElementFinfo().

Here is the call graph for this function:

unsigned int Cinfo::getNumLookupFinfo (  )  const

Return number of LookupFinfo

References getNumLookupFinfo().

Referenced by getLookupFinfo(), getNumLookupFinfo(), and testCinfoFields().

Here is the call graph for this function:

unsigned int Cinfo::getNumSharedFinfo (  )  const

Return number of SharedFinfos

References getNumSharedFinfo().

Referenced by getNumSharedFinfo(), getSharedFinfo(), and testCinfoFields().

Here is the call graph for this function:

unsigned int Cinfo::getNumSrcFinfo (  )  const

Return number of SrcFinfos

References getNumSrcFinfo().

Referenced by getNumSrcFinfo(), Neutral::getSourceFields(), getSrcFinfo(), and testCinfoFields().

Here is the call graph for this function:

unsigned int Cinfo::getNumValueFinfo (  )  const

Return number of ValueFinfo

References getNumValueFinfo().

Referenced by getNumValueFinfo(), Neutral::getValueFields(), getValueFinfo(), and testCinfoFields().

Here is the call graph for this function:

const OpFunc * Cinfo::getOpFunc ( FuncId  fid  )  const
Finfo * Cinfo::getSharedFinfo ( unsigned int  i  ) 

Return the specified SharedFinfo

References dummy(), and getNumSharedFinfo().

Here is the call graph for this function:

Finfo * Cinfo::getSrcFinfo ( unsigned int  i  )  const

Return the specified SrcFinfo

References getNumSrcFinfo(), and getSrcFinfo().

Referenced by Neutral::getSourceFields(), and getSrcFinfo().

Here is the call graph for this function:

Finfo * Cinfo::getValueFinfo ( unsigned int  i  )  const

Return the specified ValueFinfo

References dummy(), and getNumValueFinfo().

Referenced by Neutral::getValueFields().

Here is the call graph for this function:

void Cinfo::init ( Finfo **  finfoArray,
unsigned int  nFinfos 
)

Initializes the Cinfo. Must be called exactly once for each Cinfo.

init: initializes the Cinfo. Must be called just once

References registerFinfo().

Here is the call graph for this function:

const Cinfo * Cinfo::initCinfo (  )  [static]

Initializer for the MOOSE fields for Cinfo

References dinfo(), getBaseClass(), getDocs(), and Neutral::initCinfo().

Referenced by makeCinfoElements().

Here is the call graph for this function:

bool Cinfo::isA ( const string &  ancestor  )  const
void Cinfo::makeCinfoElements ( Id  parent  )  [static]

Utility function used at init to create the inspection Elements for each of the Cinfos.

References Shell::adopt(), DinfoBase::assignData(), buildFinfoElement(), Element::data(), dinfo(), dummy(), initCinfo(), and Id::nextId().

Referenced by init().

Here is the call graph for this function:

const std::string & Cinfo::name (  )  const
unsigned int Cinfo::numBindIndex (  )  const

Finds the funcId by name. Returns 0 on failure. const FuncId findFuncId( const string& name) const; Number of SrcMsgs in total. Each has a unique number to bind to an entry in the msgBinding vector in the Element.

Referenced by Neutral::getOutgoingMsgs(), and Eref::msgDigest().

void Cinfo::overrideFunc ( FuncId  fid,
const OpFunc f 
)

Used in derived classes, to replace the original OpFunc with the new one.

Referenced by DestFinfo::registerFinfo().

void Cinfo::postCreationFunc ( Id  newId,
Element newElm 
) const

Handles any operations that must be done after an Element is created. Scans through all Finfos as they are the ones to manage such requests. Examples are to create FieldElements.

void Cinfo::rebuildOpIndex (  )  [static]

Ensures that the Func Ids are always in a fixed order, regardless of the sequence of static initialization of Cinfos.

References OpFunc::setIndex().

Referenced by init().

Here is the call graph for this function:

BindIndex Cinfo::registerBindIndex (  ) 

Returns the next free value for BindIndex, and keeps track of the total number set up.

Referenced by SrcFinfo::registerFinfo().

void Cinfo::registerFinfo ( Finfo f  ) 
FuncId Cinfo::registerOpFunc ( const OpFunc f  ) 

Registers the OpFunc, assigns it a FuncId and returns the FuncId.

Referenced by DestFinfo::registerFinfo().

void Cinfo::registerPostCreationFinfo ( const Finfo f  ) 

Registers a finfo as needing post-creation work

Referenced by FieldElementFinfoBase::registerFinfo().

void Cinfo::reportFids (  )  const

Utility function for debugging

References DestFinfo::getFid(), and Finfo::name().

Here is the call graph for this function:

void Cinfo::setNumFinfo ( unsigned int  v  ) 

Dummy function. We never allow this assignment.

const string & Cinfo::srcFinfoName ( BindIndex  bid  )  const

Returns the name of the SrcFinfo having the specified BindIndex, on this Cinfo. Returns "" on failure.

References SrcFinfo::getBindIndex(), Finfo::name(), and srcFinfoName().

Referenced by Msg::getSrcFieldsOnE1(), Msg::getSrcFieldsOnE2(), and srcFinfoName().

Here is the call graph for this function:


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

Generated on 1 Jul 2015 for MOOSE by  doxygen 1.6.1