gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Private Attributes | List of all members
CxxConfigParams Class Reference

Base for peer classes of SimObjectParams derived classes with parameter modifying member functions. More...

#include <cxx_config.hh>

Public Types

typedef uint32_t FlagsType
 Flags passable to setParam... More...
 
typedef ::Flags< FlagsTypeFlags
 

Public Member Functions

virtual void setName (const std::string &name_)
 Example flag. More...
 
virtual const std::string & getName ()
 Get full path name string. More...
 
virtual bool setSimObject (const std::string &name, SimObject *simObject)
 Set a SimObject valued parameter with a reference to the given SimObject. More...
 
virtual bool setSimObjectVector (const std::string &name, const std::vector< SimObject * > &simObjects)
 As setSimObjectVector but set a whole vector of references. More...
 
virtual bool setParam (const std::string &name, const std::string &value, const Flags flags)
 Set a parameter with a value parsed from the given string. More...
 
virtual bool setParamVector (const std::string &name, const std::vector< std::string > &values, const Flags flags)
 As setParamVector but for parameters given as vectors pre-separated into elements. More...
 
virtual bool setPortConnectionCount (const std::string &name, unsigned int count)
 Set the number of connections expected for the named port. More...
 
virtual SimObjectsimObjectCreate ()
 Create the associated SimObject. More...
 
 CxxConfigParams ()
 
virtual ~CxxConfigParams ()
 

Static Private Attributes

static const std::string invalidName = "<invalid>"
 

Detailed Description

Base for peer classes of SimObjectParams derived classes with parameter modifying member functions.

C++ configuration will offer objects of these classes to SimObjects as params rather than SimObjectParams objects

Definition at line 125 of file cxx_config.hh.

Member Typedef Documentation

Definition at line 134 of file cxx_config.hh.

typedef uint32_t CxxConfigParams::FlagsType

Flags passable to setParam...

to smooth over any parsing difference between different config files

Definition at line 133 of file cxx_config.hh.

Constructor & Destructor Documentation

CxxConfigParams::CxxConfigParams ( )
inline

Definition at line 181 of file cxx_config.hh.

virtual CxxConfigParams::~CxxConfigParams ( )
inlinevirtual

Definition at line 183 of file cxx_config.hh.

Member Function Documentation

virtual const std::string& CxxConfigParams::getName ( )
inlinevirtual

Get full path name string.

Definition at line 144 of file cxx_config.hh.

References invalidName.

Referenced by CxxConfigManager::deleteObjects().

virtual void CxxConfigParams::setName ( const std::string &  name_)
inlinevirtual

Example flag.

Set future object's full path name

Definition at line 141 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams().

virtual bool CxxConfigParams::setParam ( const std::string &  name,
const std::string &  value,
const Flags  flags 
)
inlinevirtual

Set a parameter with a value parsed from the given string.

The parsing regime matches the format of .ini config files. Returns false if the parameter name is not valid or the string cannot be parsed as the type of the parameter

Definition at line 162 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams(), and CxxConfigManager::setParam().

virtual bool CxxConfigParams::setParamVector ( const std::string &  name,
const std::vector< std::string > &  values,
const Flags  flags 
)
inlinevirtual

As setParamVector but for parameters given as vectors pre-separated into elements.

Definition at line 168 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams(), and CxxConfigManager::setParamVector().

virtual bool CxxConfigParams::setPortConnectionCount ( const std::string &  name,
unsigned int  count 
)
inlinevirtual

Set the number of connections expected for the named port.

Returns false if the port name is not valid

Definition at line 174 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams().

virtual bool CxxConfigParams::setSimObject ( const std::string &  name,
SimObject simObject 
)
inlinevirtual

Set a SimObject valued parameter with a reference to the given SimObject.

This will return false if the parameter name is not valid or the object is of the wrong type

Definition at line 149 of file cxx_config.hh.

Referenced by CxxConfigManager::findObject(), and CxxConfigManager::findObjectParams().

virtual bool CxxConfigParams::setSimObjectVector ( const std::string &  name,
const std::vector< SimObject * > &  simObjects 
)
inlinevirtual

As setSimObjectVector but set a whole vector of references.

Definition at line 154 of file cxx_config.hh.

Referenced by CxxConfigManager::findObject(), and CxxConfigManager::findObjectParams().

virtual SimObject* CxxConfigParams::simObjectCreate ( )
inlinevirtual

Create the associated SimObject.

Definition at line 179 of file cxx_config.hh.

Referenced by CxxConfigManager::findObject().

Member Data Documentation

const std::string CxxConfigParams::invalidName = "<invalid>"
staticprivate

Definition at line 128 of file cxx_config.hh.

Referenced by getName().


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

Generated on Fri Jun 9 2017 13:04:06 for gem5 by doxygen 1.8.6