# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLAIAGENT::CIndexedVarName Class Reference

This class is an IVarName concret class. More...

#include <agent_string.h>

Inheritance diagram for NLAIAGENT::CIndexedVarName

Inheritance graph
[legend]
Collaboration diagram for NLAIAGENT::CIndexedVarName:

Collaboration graph
[legend]
List of all members.

Public Methods

 CIndexedVarName (const char *name)
 CIndexedVarName (const CIndexedVarName &name)
 CIndexedVarName (NLMISC::IStream &is)
sint32 newIndex ()
const char* getString () const
 Get the string stored in the instance. More...

const NLAIC::CIdentTypegetType () const
 getType return a unique string how represente the class, it can be the name of the class. More...

const sint32getIndex () const
IVarNameoperator+= (const IVarName &s)
IVarNameoperator-= (const IVarName &s)
IVarNameoperator= (const IVarName &v)
void save (NLMISC::IStream &os)
 Save the class in a stream. More...

void load (NLMISC::IStream &is)
 Load the class from a stream. More...

const NLAIC::IBasicTypeclone () const
 This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne. More...

const NLAIC::IBasicTypenewInstance () const
 This function allow a new instance, that mean that the class is a class factory. More...

void getDebugString (char *text) const
 This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user. More...

virtual ~CIndexedVarName ()

Static Public Methods

void initClass ()
void saveClass (NLMISC::IStream &is)
void loadClass (NLMISC::IStream &is)
void releaseClass ()

Static Public Attributes

const NLAIC::CIdentType IdIndexedVarName

Private Types

typedef std::map<CStringVarName ,
CNameStruc *> 
tMapName
 Definition of the static std::map. More...


Private Methods

void insert (const CStringVarName &name)
 Insert new string. More...

void clear ()
 Clear string from map. More...


Private Attributes

sint32 _Index
 the index of the declared string in the table. More...


Static Private Attributes

tMapName_Map = new CIndexedVarName::tMapName
 Static std::map for storing string. More...

CNameStruc_TableName = NULL
 Table of string, this the contents of the map. More...

const sint32 _Bank = 256
 Actual nomber of allocation resolution in the Table. More...

sint32 _Count = 0
 Number of string allocated. This is the table size. More...

std::list<CNameStruc *>* _Empty = new std::list<CIndexedVarName::CNameStruc *>
 Number of cell free in the table, not that this is very usefull because thy prevent us to realloc all time a new table. More...


Detailed Description

This class is an IVarName concret class.

Its share string in a static map, when we constuct a new instance if string is not stored in the std::map then its add in it else it references it from string stored in th std::map.

Author(s):
Chafik sameh , Nevrax France
Date:
2000

Definition at line 261 of file agent_string.h.


Member Typedef Documentation

typedef std::map<CStringVarName ,CNameStruc *> NLAIAGENT::CIndexedVarName::tMapName [private]
 

Definition of the static std::map.

Definition at line 310 of file agent_string.h.


Constructor & Destructor Documentation

NLAIAGENT::CIndexedVarName::CIndexedVarName ( const char * name )
 

Definition at line 150 of file agent_string.cpp.

NLAIAGENT::CIndexedVarName::CIndexedVarName ( const CIndexedVarName & name )
 

Definition at line 155 of file agent_string.cpp.

NLAIAGENT::CIndexedVarName::CIndexedVarName ( NLMISC::IStream & is )
 

Definition at line 171 of file agent_string.cpp.

NLAIAGENT::CIndexedVarName::~CIndexedVarName ( ) [virtual]
 

Definition at line 177 of file agent_string.cpp.


Member Function Documentation

void NLAIAGENT::CIndexedVarName::clear ( ) [private]
 

Clear string from map.

Definition at line 188 of file agent_string.cpp.

const NLAIC::IBasicType * NLAIAGENT::CIndexedVarName::clone ( void ) const [virtual]
 

This function allow a pointer copy, that mean that the new class have the sam attributs caracteristics as the owne.

Reimplemented from NLAIC::IBasicType.

Definition at line 278 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::getDebugString ( char * text ) const [virtual]
 

This is a Debug function, text is an character pointer to receive the debug text output, the debug text containe all think sensible to interset user.

Reimplemented from NLAIC::IBasicType.

Definition at line 290 of file agent_string.cpp.

const sint32 & NLAIAGENT::CIndexedVarName::getIndex ( ) const [inline]
 

Definition at line 347 of file agent_string.h.

const char * NLAIAGENT::CIndexedVarName::getString ( ) const [virtual]
 

Get the string stored in the instance.

Reimplemented from NLAIAGENT::IVarName.

Definition at line 295 of file agent_string.cpp.

const NLAIC::CIdentType & NLAIAGENT::CIndexedVarName::getType ( void ) const [virtual]
 

getType return a unique string how represente the class, it can be the name of the class.

This function is used for the sytem regstry class (see the definition of the template class Gen::CRegistry).

Reimplemented from NLAIC::IBasicType.

Definition at line 33 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::initClass ( ) [static]
 

Definition at line 39 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::insert ( const CStringVarName & str ) [private]
 

Insert new string.

Definition at line 204 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::load ( NLMISC::IStream & is ) [virtual]
 

Load the class from a stream.

Reimplemented from NLAIC::IBasicInterface.

Definition at line 271 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::loadClass ( NLMISC::IStream & is ) [static]
 

Definition at line 95 of file agent_string.cpp.

sint32 NLAIAGENT::CIndexedVarName::newIndex ( )
 

Definition at line 237 of file agent_string.cpp.

const NLAIC::IBasicType * NLAIAGENT::CIndexedVarName::newInstance ( void ) const [virtual]
 

This function allow a new instance, that mean that the class is a class factory.

Reimplemented from NLAIC::IBasicType.

Definition at line 284 of file agent_string.cpp.

IVarName & NLAIAGENT::CIndexedVarName::operator+= ( const IVarName & s ) [virtual]
 

Reimplemented from NLAIAGENT::IVarName.

Definition at line 222 of file agent_string.cpp.

IVarName & NLAIAGENT::CIndexedVarName::operator-= ( const IVarName & s ) [virtual]
 

Reimplemented from NLAIAGENT::IVarName.

Definition at line 229 of file agent_string.cpp.

IVarName & NLAIAGENT::CIndexedVarName::operator= ( const IVarName & s ) [virtual]
 

Reimplemented from NLAIAGENT::IVarName.

Definition at line 182 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::releaseClass ( ) [static]
 

Definition at line 125 of file agent_string.cpp.

Referenced by NLAILINK::releaseIALib().

void NLAIAGENT::CIndexedVarName::save ( NLMISC::IStream & os ) [virtual]
 

Save the class in a stream.

Reimplemented from NLAIC::IBasicInterface.

Definition at line 266 of file agent_string.cpp.

void NLAIAGENT::CIndexedVarName::saveClass ( NLMISC::IStream & os ) [static]
 

Definition at line 74 of file agent_string.cpp.


Member Data Documentation

const NLAIC::CIdentType NLAIAGENT::CIndexedVarName::IdIndexedVarName [static]
 

Definition at line 265 of file agent_string.h.

const sint32 CIndexedVarName::_Bank = 256 [static, private]
 

Actual nomber of allocation resolution in the Table.

Note that when we superseded table resolution we realloc a new table with the old size add by _Bank.

Definition at line 44 of file static_def_init.cpp.

sint32 CIndexedVarName::_Count = 0 [static, private]
 

Number of string allocated. This is the table size.

Definition at line 45 of file static_def_init.cpp.

std::list< CIndexedVarName::CNameStruc *>* CIndexedVarName::_Empty = new std::list<CIndexedVarName::CNameStruc *> [static, private]
 

Number of cell free in the table, not that this is very usefull because thy prevent us to realloc all time a new table.

Definition at line 48 of file static_def_init.cpp.

sint32 NLAIAGENT::CIndexedVarName::_Index [private]
 

the index of the declared string in the table.

Definition at line 333 of file agent_string.h.

CIndexedVarName::tMapName * CIndexedVarName::_Map = new CIndexedVarName::tMapName [static, private]
 

Static std::map for storing string.

Definition at line 47 of file static_def_init.cpp.

CIndexedVarName::CNameStruc * CIndexedVarName::_TableName = NULL [static, private]
 

Table of string, this the contents of the map.

Definition at line 43 of file static_def_init.cpp.


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