Flow123d  jenkins-Flow123d-linux-release-multijob-198
Namespaces | Classes | Typedefs | Functions
Input Namespace Reference

Namespaces

 internal
 
 Type
 

Classes

class  Exception
 Base of exceptions due to user input. More...
 
class  Enum
 
class  FullEnum
 
class  Iterator
 
class  Address
 
class  Record
 Accessor to the data with type Type::Record. More...
 
class  AbstractRecord
 Accessor to the polymorphic input data of a type given by an AbstracRecord object. More...
 
class  Array
 Accessor to input data conforming to declared Array. More...
 
class  IteratorBase
 
struct  uncommenting_fsm
 
class  JSONPath
 Class used by JSONToStorage class to iterate over the JSON tree provided by json_spirit library. More...
 
class  JSONToStorage
 Reader for (slightly) modified JSON files. More...
 
class  StorageBase
 Base class for nodes of a data storage tree. More...
 
class  StorageArray
 
class  StorageBool
 
class  StorageInt
 
class  StorageDouble
 
class  StorageString
 
class  StorageNull
 
class  StorageTranspose
 

Typedefs

typedef
io::finite_state_filter
< uncommenting_fsm
uncommenting_filter
 

Functions

 TYPEDEF_ERR_INFO (EI_Address, const std::string)
 
 DECLARE_INPUT_EXCEPTION (ExcInputMessage,<< EI_Message::val)
 
 TYPEDEF_ERR_INFO (EI_InputType, const string)
 
 TYPEDEF_ERR_INFO (EI_RequiredType, const string)
 
 TYPEDEF_ERR_INFO (EI_CPPRequiredType, const string)
 
 TYPEDEF_ERR_INFO (EI_KeyName, const string)
 
 DECLARE_EXCEPTION (ExcTypeMismatch,<< "Key:"<< EI_KeyName::qval<< ". Can not construct Iterator<T> with C++ type T="<< EI_CPPRequiredType::qval<< ";\n"<< "can not convert Type: "<< EI_InputType::qval<< " to: "<< EI_RequiredType::qval)
 
 TYPEDEF_ERR_INFO (EI_AccessorName, const string)
 
 DECLARE_EXCEPTION (ExcAccessorForNullStorage,<< "Can not create "<< EI_AccessorName::val<< " from StorageNull.")
 
 TYPEDEF_ERR_INFO (EI_ParamName, const string)
 
 DECLARE_EXCEPTION (ExcAddressNullPointer,<< "NULL pointer in "<< EI_ParamName::val<< " parameter.")
 
std::ostream & operator<< (std::ostream &stream, const Address &address)
 
std::ostream & operator<< (std::ostream &stream, const JSONPath &path)
 
 TYPEDEF_ERR_INFO (EI_RequestedType, const std::string)
 
 TYPEDEF_ERR_INFO (EI_StoredType, const std::string)
 
 DECLARE_EXCEPTION (ExcStorageTypeMismatch,<< "Storage type mismatch. You want value of type "<< EI_RequestedType::qval<< " but stored is value of type "<< EI_StoredType::qval)
 

Detailed Description

Iterator - like intermediate class for access to the stored values. The storage is a tree where one node can hold:

json_spirit use boost::variant for storing JSON tree and arrays are stored as vectors of these variants not pointers to variants. This is probably more effective, but do not allow effective modifications of the tree and also construction not involving copies is not very intuitive. Therefore we use our own storage and copy the json_spirit tree into it.

type_output.cc

Typedef Documentation

Declare an io filter based on FSM for filtering comments.

Definition at line 92 of file comment_filter.hh.

Function Documentation

Input::DECLARE_EXCEPTION ( ExcStorageTypeMismatch  ,
<< "Storage type mismatch. You want value of type "<< EI_RequestedType::qval<< " but stored is value of type "<< EI_StoredType::qval   
)
Input::DECLARE_EXCEPTION ( ExcTypeMismatch  )
Input::DECLARE_EXCEPTION ( ExcAccessorForNullStorage  ,
<< "Can not create "<< EI_AccessorName::val<< " from StorageNull."   
)
Input::DECLARE_EXCEPTION ( ExcAddressNullPointer  ,
<< "NULL pointer in "<< EI_ParamName::val<< " parameter."   
)
Input::DECLARE_INPUT_EXCEPTION ( ExcInputMessage  ,
<< EI_Message::val   
)

Simple input exception that accepts just string message.

std::ostream & Input::operator<< ( std::ostream &  stream,
const JSONPath &  path 
)

Output operator for JSONPath. Mainly for debugging purposes and error messages.

Definition at line 195 of file json_to_storage.cc.

std::ostream& Input::operator<< ( std::ostream &  stream,
const Address &  address 
)
inline

Address output operator.

Definition at line 288 of file accessors.hh.

Input::TYPEDEF_ERR_INFO ( EI_RequestedType  ,
const std::string   
)
Input::TYPEDEF_ERR_INFO ( EI_StoredType  ,
const std::string   
)
Input::TYPEDEF_ERR_INFO ( EI_Address  ,
const std::string   
)

Declaration of error info class for passing Input::Address through exceptions. Is returned by input accessors : Input::Record, Input::Array, etc.

Use case example: Input::Record input = ...; string name=input.val("name"); if (name.size() > STR_LIMIT) THROW(ExcToLongStr() << EI_Address( input.address_string() ));

TODO: if Address class is persistent (every copy is self contented, we can use Address instead of std::string. see also ei_address methods.

Input::TYPEDEF_ERR_INFO ( EI_InputType  ,
const string   
)
Input::TYPEDEF_ERR_INFO ( EI_RequiredType  ,
const string   
)
Input::TYPEDEF_ERR_INFO ( EI_CPPRequiredType  ,
const string   
)
Input::TYPEDEF_ERR_INFO ( EI_KeyName  ,
const string   
)
Input::TYPEDEF_ERR_INFO ( EI_AccessorName  ,
const string   
)
Input::TYPEDEF_ERR_INFO ( EI_ParamName  ,
const string   
)