gem5  v20.1.0.0
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 123 of file cxx_config.hh.

Member Typedef Documentation

◆ Flags

Definition at line 132 of file cxx_config.hh.

◆ FlagsType

typedef uint32_t CxxConfigParams::FlagsType

Flags passable to setParam...

to smooth over any parsing difference between different config files

Definition at line 131 of file cxx_config.hh.

Constructor & Destructor Documentation

◆ CxxConfigParams()

CxxConfigParams::CxxConfigParams ( )
inline

Definition at line 179 of file cxx_config.hh.

◆ ~CxxConfigParams()

virtual CxxConfigParams::~CxxConfigParams ( )
inlinevirtual

Definition at line 181 of file cxx_config.hh.

Member Function Documentation

◆ getName()

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

Get full path name string.

Definition at line 142 of file cxx_config.hh.

References invalidName.

Referenced by CxxConfigManager::deleteObjects().

◆ setName()

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

Example flag.

Set future object's full path name

Definition at line 139 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams().

◆ setParam()

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 160 of file cxx_config.hh.

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

◆ setParamVector()

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 166 of file cxx_config.hh.

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

◆ setPortConnectionCount()

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 172 of file cxx_config.hh.

Referenced by CxxConfigManager::findObjectParams().

◆ setSimObject()

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 147 of file cxx_config.hh.

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

◆ setSimObjectVector()

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 152 of file cxx_config.hh.

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

◆ simObjectCreate()

virtual SimObject* CxxConfigParams::simObjectCreate ( )
inlinevirtual

Create the associated SimObject.

Definition at line 177 of file cxx_config.hh.

Referenced by CxxConfigManager::findObject().

Member Data Documentation

◆ invalidName

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

Definition at line 126 of file cxx_config.hh.

Referenced by getName().


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

Generated on Wed Sep 30 2020 14:02:23 for gem5 by doxygen 1.8.17