InFact
Interpreter and factory for easily creating C++ objects at run-time
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
\NinfactThe namespace for the entire InFact library
 oCEnvironmentImplProvides a set of named variables and their types, as well as the values for those variables
 oCVarMapBaseA base class for a mapping from variables of a specific type to their values
 oCEnvironmentAn interface for an environment in which variables of various types are mapped to their values
 oCValueStringA template class that helps print out values with ostream& operator support and vectors of those values
 oCValueString< string >A specialization of the ValueString class to support printing of string values
 oCValueString< bool >A specialization of the ValueString class to support printing of boolean values
 oCValueString< 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
 oCValueString< vector< T > >A partial specialization of the ValueString class to support printing of vectors of values
 oCVarMapImplA partial implementation of the VarMapBase interface that is common to both VarMap<T> and the VarMap<vector<T> > partial specialization
 oCVarMapA container to hold the mapping between named variables of a specific type and their values
 oCVarMap< 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)
 oCDateImplConstructor
 oCPersonImplConstructor
 oCCowConstructor
 oCSheepConstructor
 oCHumanPetOwnerConstructor
 oCDateAn interface to represent a date
 oCDateImplAn implementation of the Date interface that can be constructed by a Factory (because of the REGISTER_DATE(DateImpl) declaration in example.cc)
 oCPersonAn interface representing a person
 oCPersonImplA concrete implementation of the Person interface that can be constructed by a Factory (because of the REGISTER_PERSON(PersonImpl) declaration in example.cc)
 oCAnimalA very simple class to represent an animal
 oCCowA class to represent a cow
 oCSheepA sheep
 oCPetOwnerAn owner of a pet
 oCHumanPetOwnerA concrete type of PetOwner that can be constructed by a Factory<PetOwner> instance
 oCTypeNameWe 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
 oCTypeName< bool >A specialization so that an object of type bool converts to "bool"
 oCTypeName< int >A specialization so that an object of type int converts to "int"
 oCTypeName< double >A specialization so that an object of type double converts to "double"
 oCTypeName< string >A specialization so that an object of type string converts to "string"
 oCTypeName< 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>
 oCTypeName< 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:
 oCMemberInitializerAn interface for data member initializers of members of a Factory-constructible object
 oCTypedMemberInitializerA concrete, typed implementation of the MemberInitializer base class
 oCInitializersA container for all the member initializers for a particular Factory-constructible instance
 oCFactoryBaseAn interface for all Factory instances, specifying a few pure virtual methods
 oCFactoryContainerA class to hold all Factory instances that have been created
 oCConstructorAn interface with a single virtual method that constructs a concrete instance of the abstract type T
 oCFactoryConstructibleAn 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)
 oCFactoryFactory for dynamically created instance of the specified type
 oCIStreamBuilderAn interface for classes that can build istreams for named files
 oCDefaultIStreamBuilderThe default implementation for the IStreamBuilder interface, returning std::ifstream instances
 oCInterpreterProvides an interpreter for assigning primitives and Factory-constructible objects to named variables, as well as vectors thereof
 oCStreamInitializerAn 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
 oCInitializerA class to initialize a Factory-constructible object
 oCInitializer< int >A specialization to allow Factory-constructible objects to initialize int data members
 oCInitializer< double >A specialization to initialize double data members
 oCInitializer< bool >A specialization to initialize bool data members
 oCInitializer< string >A specialization to initialize string data members
 \CStreamTokenizerA simple class for tokenizing a stream of tokens for the formally specified language used to construct objects for the InFact framework
  \CTokenInformation about a token read from the underlying stream