InFact
Interpreter and factory for easily creating C++ objects at run-time
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Functions
infact Namespace Reference

The namespace for the entire InFact library. More...

Classes

class  EnvironmentImpl
 Provides a set of named variables and their types, as well as the values for those variables. More...
 
class  VarMapBase
 A base class for a mapping from variables of a specific type to their values. More...
 
class  Environment
 An interface for an environment in which variables of various types are mapped to their values. More...
 
class  ValueString
 A template class that helps print out values with ostream& operator support and vectors of those values. More...
 
class  ValueString< string >
 A specialization of the ValueString class to support printing of string values. More...
 
class  ValueString< bool >
 A specialization of the ValueString class to support printing of boolean values. More...
 
class  ValueString< shared_ptr< T > >
 A partial specialization of the ValueString class to support printing of shared_ptr's to objects, where we simply print the typeid name followed by a colon character followed by the pointer address. More...
 
class  ValueString< vector< T > >
 A partial specialization of the ValueString class to support printing of vectors of values. More...
 
class  VarMapImpl
 A partial implementation of the VarMapBase interface that is common to both VarMap<T> and the VarMap<vector<T> > partial specialization. More...
 
class  VarMap
 A container to hold the mapping between named variables of a specific type and their values. More...
 
class  VarMap< vector< T > >
 A partial specialization to allow initialization of a vector of values, where the values can either be literals (if T is a primitive type), spec strings for constructing Factory-constructible objects, or variable names (where each variable must be of type T). More...
 
class  DateImplConstructor
 
class  PersonImplConstructor
 
class  CowConstructor
 
class  SheepConstructor
 
class  HumanPetOwnerConstructor
 
class  Date
 An interface to represent a date. More...
 
class  DateImpl
 An implementation of the Date interface that can be constructed by a Factory (because of the REGISTER_DATE(DateImpl) declaration in example.cc). More...
 
class  Person
 An interface representing a person. More...
 
class  PersonImpl
 A concrete implementation of the Person interface that can be constructed by a Factory (because of the REGISTER_PERSON(PersonImpl) declaration in example.cc). More...
 
class  Animal
 A very simple class to represent an animal. More...
 
class  Cow
 A class to represent a cow. More...
 
class  Sheep
 A sheep. More...
 
class  PetOwner
 An owner of a pet. More...
 
class  HumanPetOwner
 A concrete type of PetOwner that can be constructed by a Factory<PetOwner> instance. More...
 
class  TypeName
 We use the templated class TypeName to be able to take an actual C++ type and get the type name string used by the Interpreter and Environment classes. More...
 
class  TypeName< bool >
 A specialization so that an object of type bool converts to "bool". More...
 
class  TypeName< int >
 A specialization so that an object of type int converts to "int". More...
 
class  TypeName< double >
 A specialization so that an object of type double converts to "double". More...
 
class  TypeName< string >
 A specialization so that an object of type string converts to "string". More...
 
class  TypeName< shared_ptr< T > >
 A partial specialization so that an object of type shared_ptr<T>, where T is some Factory-constructible type, converts to the string produced by TypeName<T>. More...
 
class  TypeName< vector< T > >
 A partial specialization so that an object of type vector<T> gets converted to the type name of T followed by the string "[]", equivalent to the result of executing the following expression: More...
 
class  MemberInitializer
 An interface for data member initializers of members of a Factory-constructible object. More...
 
class  TypedMemberInitializer
 A concrete, typed implementation of the MemberInitializer base class. More...
 
class  Initializers
 A container for all the member initializers for a particular Factory-constructible instance. More...
 
class  FactoryBase
 An interface for all Factory instances, specifying a few pure virtual methods. More...
 
class  FactoryContainer
 A class to hold all Factory instances that have been created. More...
 
class  Constructor
 An interface with a single virtual method that constructs a concrete instance of the abstract type T. More...
 
class  FactoryConstructible
 An interface simply to make it easier to implement Factory-constructible types by implementing both required methods to do nothing (use of this interface is completely optional; read more for more information). More...
 
class  Factory
 Factory for dynamically created instance of the specified type. More...
 
class  IStreamBuilder
 An interface for classes that can build istreams for named files. More...
 
class  DefaultIStreamBuilder
 The default implementation for the IStreamBuilder interface, returning std::ifstream instances. More...
 
class  Interpreter
 Provides an interpreter for assigning primitives and Factory-constructible objects to named variables, as well as vectors thereof. More...
 
class  StreamInitializer
 An interface that allows for a primitive, Factory-constructible object or vector thereof to be initialized based on the next token or tokens from a token stream. More...
 
class  Initializer
 A class to initialize a Factory-constructible object. More...
 
class  Initializer< int >
 A specialization to allow Factory-constructible objects to initialize int data members. More...
 
class  Initializer< double >
 A specialization to initialize double data members. More...
 
class  Initializer< bool >
 A specialization to initialize bool data members. More...
 
class  Initializer< string >
 A specialization to initialize string data members. More...
 
class  StreamTokenizer
 A simple class for tokenizing a stream of tokens for the formally specified language used to construct objects for the InFact framework. More...
 

Functions

void Error (const std::string &message)
 Reports an error encountered during parsing and/or construction of an object. More...
 

Detailed Description

The namespace for the entire InFact library.

Function Documentation

void infact::Error ( const std::string &  message)

Reports an error encountered during parsing and/or construction of an object.

Optionally throws an exception, according to the value of INFACT_THROW_EXCEPTIONS.

Definition at line 47 of file error.cc.