Random Class Reference

AIML class that represents the AIML XML tag "random". More...

#include <Random.h>

Inheritance diagram for Random:

InnerTemplate InnerCategory InnerTopic InnerAIML Tag List of all members.

Public Member Functions

virtual void add (const shared_ptr< InnerTemplate > &tag) throw (InternalProgrammerErrorException &)
 Adds the InnerTemplate AIML XML Tag object to the underlying data structure.
virtual StringPimpl getString () const throw (InternalProgrammerErrorException &)
 Randomly chooses one of the tags that it added through Random::add() and returns the InnerTemplate::getString() on that Tag.
 Random () throw (InternalProgrammerErrorException &)
 Default constructor to initalize the private implementation (m_pimpl) data.
virtual ~Random ()
 Default virtual destructor.

Private Attributes

shared_ptr< RandomImpl > m_pimpl
 The private implementation in which you cannot get access to.

Detailed Description

AIML class that represents the AIML XML tag "random".

Every time a XML Tag of AIML is encountered, an instance of this class will be created. All text inbetween the begin and end tag, all attributes, and all inner Tags will go through methods of this class.


Constructor & Destructor Documentation

Random  )  throw (InternalProgrammerErrorException &)
 

Default constructor to initalize the private implementation (m_pimpl) data.

Exceptions:
InternalProgrammerErrorException is thrown only if the error is so grave that the entire AIML engine has to be shut down.

virtual ~Random  )  [virtual]
 

Default virtual destructor.

Destroys the private implementation (m_pimpl) data.


Member Function Documentation

virtual void add const shared_ptr< InnerTemplate > &  tag  )  throw (InternalProgrammerErrorException &) [virtual]
 

Adds the InnerTemplate AIML XML Tag object to the underlying data structure.

Parameters:
tag The InnerTemplate AIML XML Tag that is inside this AIML XML Tag and is to be added to this AIMl XML's underlying data structure for latter retrievel through Random::getString()
Exceptions:
InternalProgrammerErrorException is thrown only if the error is so grave that the entire AIML engine has to be shut down.

Reimplemented from InnerTemplate.

virtual StringPimpl getString  )  const throw (InternalProgrammerErrorException &) [virtual]
 

Randomly chooses one of the tags that it added through Random::add() and returns the InnerTemplate::getString() on that Tag.

Returns:
The InnerTemplate::getString() on the randomly choosen Tag from Random::add()
Exceptions:
InternalProgrammerErrorException is thrown only if the error is so grave that the entire AIML engine has to be shut down.

Reimplemented from InnerTemplate.


Member Data Documentation

shared_ptr<RandomImpl> m_pimpl [private]
 

The private implementation in which you cannot get access to.

This shared_ptr holds the private methods and private member variables of this class. This makes ABI (Application Binary Interface) more resilient to change. See the private implementation idiom on the internet for more information about this.

Reimplemented from InnerTemplate.


The documentation for this class was generated from the following file:
Generated on Thu Sep 7 22:05:53 2006 for RebeccaAIML by  doxygen 1.4.5