Class for reference objects. More...
#include <TypeCode.hxx>
Public Member Functions | |
TypeCodeObjref (const char *repositoryId, const char *name) | |
TypeCodeObjref (const char *repositoryId, const char *name, const std::list< TypeCodeObjref * > <c) | |
TypeCode * | clone () const |
void | putReprAtPlace (char *pt, const char *val, bool deepCpy) const |
void | destroyZippedAny (char *data) const |
AnyPtr | getOrBuildAnyFromZippedData (char *data) const |
const char * | id () const |
const char * | name () const |
const char * | shortName () const |
int | isA (const char *repositoryId) const |
Check if this TypeCode is derived from a TypeCode with a given id. More... | |
virtual int | isA (const TypeCode *tc) const |
Check if this TypeCode is derived from a given TypeCode. More... | |
virtual int | isAdaptable (const TypeCode *tc) const |
Check if this TypeCode is adaptable to a given TypeCode (tc) More... | |
virtual int | isEquivalent (const TypeCode *tc) const |
Check if this TypeCode can be used in place of tc. More... | |
Public Member Functions inherited from YACS::ENGINE::TypeCode | |
TypeCode (DynType kind) | |
DynType | kind () const |
const char * | getKindRepr () const |
const TypeCode * | subContentType (int lev) const |
virtual const TypeCode * | contentType () const |
virtual unsigned | getSizeInByteOfAnyReprInSeq () const |
virtual std::string | getPrintStr () const |
Public Member Functions inherited from YACS::ENGINE::RefCounter | |
unsigned int | getRefCnt () const |
void | incrRef () const |
bool | decrRef () const |
Protected Member Functions | |
virtual | ~TypeCodeObjref () |
TypeCodeObjref (const TypeCodeObjref &other) | |
Protected Member Functions inherited from YACS::ENGINE::TypeCodeComposed | |
TypeCodeComposed (const TypeCodeComposed &other) | |
TypeCodeComposed (DynType kind, const char *repositoryId, const char *name) | |
Protected Member Functions inherited from YACS::ENGINE::TypeCode | |
TypeCode (const TypeCode &tc) | |
TypeCode & | operator= (const TypeCode &tc) |
virtual | ~TypeCode () |
Protected Member Functions inherited from YACS::ENGINE::RefCounter | |
RefCounter () | |
RefCounter (const RefCounter &other) | |
virtual | ~RefCounter () |
Private Attributes | |
std::list< TypeCodeObjref * > | _listOfBases |
Friends | |
class | Visitor |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::TypeCode | |
static const char * | getKindRepr (DynType kind) |
static TypeCode * | interfaceTc (const char *id, const char *name) |
static factory of object reference type given an id and a name More... | |
static TypeCode * | interfaceTc (const char *id, const char *name, const std::list< TypeCodeObjref * > <c) |
static factory of object reference type given an id, a name and a list of base types More... | |
static TypeCode * | sequenceTc (const char *id, const char *name, TypeCode *content) |
static factory of sequence type given an id, a name and a content type More... | |
static TypeCode * | structTc (const char *id, const char *name) |
static factory of struct type given an id and a name More... | |
Static Public Attributes inherited from YACS::ENGINE::RefCounter | |
static unsigned int | _totalCnt =0 |
Protected Attributes inherited from YACS::ENGINE::TypeCodeComposed | |
const std::string | _name |
const std::string | _repoId |
std::string | _shortName |
Protected Attributes inherited from YACS::ENGINE::TypeCode | |
const DynType | _kind |
Protected Attributes inherited from YACS::ENGINE::RefCounter | |
unsigned int | _cnt |
Static Protected Attributes inherited from YACS::ENGINE::TypeCode | |
static const char * | KIND_STR_REPR [] ={ "None", "double", "int", "string", "bool", "Objref", "Sequence", "Array","Struct" } |
Class for reference objects.
Definition at line 125 of file TypeCode.hxx.
TypeCodeObjref::TypeCodeObjref | ( | const char * | repositoryId, |
const char * | name | ||
) |
Definition at line 294 of file TypeCode.cxx.
Referenced by clone().
TypeCodeObjref::TypeCodeObjref | ( | const char * | repositoryId, |
const char * | name, | ||
const std::list< TypeCodeObjref * > & | ltc | ||
) |
Definition at line 342 of file TypeCode.cxx.
References _listOfBases.
|
protectedvirtual |
|
protected |
Definition at line 402 of file TypeCode.cxx.
References _listOfBases, and YACS::ENGINE::RefCounter::incrRef().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 307 of file TypeCode.cxx.
References TypeCodeObjref().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 317 of file TypeCode.cxx.
References YACS::ENGINE::AtomAny::destroyReprAtPlace().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 322 of file TypeCode.cxx.
References YACS::ENGINE::AtomAny::getOrBuildFromData().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 327 of file TypeCode.cxx.
References YACS::ENGINE::TypeCodeComposed::_repoId.
Referenced by YACS::ENGINE::VisitorSaveSchema::dumpTypeCode().
|
virtual |
Check if this TypeCode is derived from a TypeCode with a given id.
id | : a given id |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 357 of file TypeCode.cxx.
References _listOfBases, and YACS::ENGINE::TypeCodeComposed::_repoId.
Referenced by isA(), and isAdaptable().
|
virtual |
Check if this TypeCode is derived from a given TypeCode.
tc | : the given TypeCode |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 373 of file TypeCode.cxx.
References YACS::ENGINE::TypeCode::id(), and isA().
|
virtual |
Check if this TypeCode is adaptable to a given TypeCode (tc)
tc | : the given TypeCode |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 383 of file TypeCode.cxx.
References YACS::ENGINE::TypeCode::_kind, YACS::ENGINE::TypeCode::id(), isA(), and YACS::ENGINE::TypeCode::kind().
|
virtual |
Check if this TypeCode can be used in place of tc.
this TypeCode is equivalent to tc if they have the same kind
tc | : the TypeCode to compare |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 395 of file TypeCode.cxx.
References YACS::ENGINE::TypeCode::_kind, YACS::ENGINE::TypeCodeComposed::_repoId, YACS::ENGINE::TypeCode::id(), and YACS::ENGINE::TypeCode::kind().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 332 of file TypeCode.cxx.
References YACS::ENGINE::TypeCodeComposed::_name.
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 312 of file TypeCode.cxx.
References YACS::ENGINE::AtomAny::putReprAtPlace().
|
virtual |
Reimplemented from YACS::ENGINE::TypeCode.
Definition at line 337 of file TypeCode.cxx.
References YACS::ENGINE::TypeCodeComposed::_shortName.
|
friend |
Definition at line 127 of file TypeCode.hxx.
|
private |
Definition at line 150 of file TypeCode.hxx.
Referenced by YACS::ENGINE::Visitor::getListOfBases(), isA(), TypeCodeObjref(), and ~TypeCodeObjref().