Menge
Modular Pedestrian Simulation Framework for Research and Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | List of all members
Menge::IntDistributionAttribute Class Reference

The class which specifies an xml attribute with an int distribution value. More...

#include <Attribute.h>

Inheritance diagram for Menge::IntDistributionAttribute:
Menge::Attribute

Public Member Functions

 IntDistributionAttribute (const std::string &name, bool required, int defValue)
 Constructor. More...
 
virtual ~IntDistributionAttribute ()
 Destructor.
 
virtual bool extract (TiXmlElement *node)
 Extracts the values for this attribute from the xml node. More...
 
virtual void setDefault ()
 If defined, sets the default value for the attribute.
 
virtual IntGeneratorgetIntGenerator ()
 Retrieve the parsed int generator. More...
 
- Public Member Functions inherited from Menge::Attribute
 Attribute (const std::string &name, bool required)
 Constructor. More...
 
virtual ~Attribute ()
 Destructor.
 
const std::string & getName () const
 Returns a const reference to the name of the attribute. More...
 
bool isRequired () const
 Reports if this attribute is required to be specified. More...
 
bool isValid () const
 Reports if the attribute is valid. More...
 
void clear ()
 Prepares the attribute for a parse attempt.
 
virtual int getInt ()
 Retrieve the parsed int value. More...
 
virtual bool getBool ()
 Retrieve the parsed boolean value. More...
 
virtual float getFloat ()
 Retrieve the parsed float value. More...
 
virtual std::string getString ()
 Retrieve the parsed string value. More...
 
virtual size_t getSizeT ()
 Retrieve the parsed size_t value. More...
 
virtual FloatGeneratorgetFloatGenerator ()
 Retrieve the parsed float generator. More...
 
virtual Vec2DGeneratorgetVec2DGenerator ()
 Retrieve the parsed 2D float generator. More...
 

Protected Attributes

int _default
 The default int value. Meaningless if _required is true.
 
IntGenerator_generator
 The parsed generator.
 
- Protected Attributes inherited from Menge::Attribute
std::string _name
 The name of the xml attribute.
 
bool _required
 Determines if the XML must specify this attribute.
 
bool _valid
 Reports if the attribute is valid. An attribute is always valid if it is not required. Otherwise, it is only valid if it was able to be initialized from the XML.
 

Detailed Description

The class which specifies an xml attribute with an int distribution value.

Constructor & Destructor Documentation

Menge::IntDistributionAttribute::IntDistributionAttribute ( const std::string &  name,
bool  required,
int  defValue 
)
inline

Constructor.

Parameters
nameThe attribute name - in this case, interpreted as the the prefix for the distribution values.
requiredWhether or not the attribute is required (true) or not (false).
defValueThe default value for the attribute if none is provided. This will be interpreted as a const distribution.

Member Function Documentation

bool Menge::IntDistributionAttribute::extract ( TiXmlElement *  node)
virtual

Extracts the values for this attribute from the xml node.

This is the main parsing work. It must be performed by each attribute sub-class.

Parameters
nodeThe XML node containing the attributes.
Returns
True on sucessful extraction, false otherwise.

Implements Menge::Attribute.

virtual IntGenerator* Menge::IntDistributionAttribute::getIntGenerator ( )
inlinevirtual

Retrieve the parsed int generator.

Returns
A pointer to a float generator. The float generator becomes the responsibility of the caller.
Exceptions
AnAttributeDefinitionException if the types are wrong.

Reimplemented from Menge::Attribute.


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