Flow123d
master-f44eb46
|
Abstract linear system class. More...
Namespaces | |
internal | |
Type | |
Classes | |
class | Enum |
class | FullEnum |
class | Iterator |
class | Address |
class | Record |
Accessor to the data with type Type::Record . More... | |
class | Tuple |
Accessor to the data with type Type::Tuple . 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 | Factory |
This class implements more general factory mechanism to construct classes. More... | |
class | Exception |
Base of exceptions due to user input. More... | |
class | PathBase |
Base abstract class used by ReaderToStorage class to iterate over the input tree. More... | |
class | PathJSON |
Class used by ReaderToStorage class to iterate over the JSON tree provided by json_spirit library. More... | |
class | PathYAML |
Class used by ReaderToStorage class to iterate over the YAML tree provided by yaml-cpp library. More... | |
class | ReaderInternal |
Creates storage of IST defined in JSON or YAML file. More... | |
class | ReaderInternalBase |
Internal part of IST reader. More... | |
class | ReaderInternalCsvInclude |
Creates storage of part of subtree defined in CSV file. More... | |
class | ReaderInternalTranspose |
Creates storage of transposed subtree defined on input. More... | |
class | ReaderToStorage |
Reader for (slightly) modified input 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 | TypeRepository |
The Singleton class TypeRepository serves for handling the lazy-evaluated input types, derived from the base class Type::TypeBase. More... | |
Typedefs | |
typedef io::finite_state_filter< uncommenting_fsm > | uncommenting_filter |
Enumerations | |
enum | FileFormat { format_JSON , format_YAML } |
Possible formats of input files. More... | |
enum | ValueTypes { obj_type , array_type , str_type , bool_type , int_type , real_type , null_type , scalar_type , undef_type } |
Enum of possible input types. More... | |
Functions | |
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) |
TYPEDEF_ERR_INFO (EI_TypeName, const string) | |
DECLARE_EXCEPTION (ExcNotRegistredClass,<< "Key "<< EI_KeyName::val<< " isn't registered in factory for type "<< EI_TypeName::val<< "!") | |
template<class ChildType , class... Arguments> | |
int | register_class (string class_name) |
Function allows simplified call of registering class to factory. More... | |
TYPEDEF_ERR_INFO (EI_Address, const std::string) | |
Declaration of error info class for passing Input::Address through exceptions. More... | |
DECLARE_INPUT_EXCEPTION (ExcInputMessage,<< EI_Message::val) | |
Simple input exception that accepts just string message. More... | |
std::ostream & | operator<< (std::ostream &stream, const PathJSON &path) |
Output operator for PathJSON. More... | |
std::ostream & | operator<< (std::ostream &stream, const PathYAML &path) |
Output operator for PathYAML. More... | |
template ::Input::Record | ReaderToStorage::get_root_interface<::Input::Record > () const |
template ::Input::Array | ReaderToStorage::get_root_interface<::Input::Array > () const |
template ::Input::AbstractRecord | ReaderToStorage::get_root_interface<::Input::AbstractRecord > () const |
template ::Input::Tuple | ReaderToStorage::get_root_interface<::Input::Tuple > () const |
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) | |
Abstract linear system class.
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.
Linear system consists of Matrix, RHS and solution. It provides general methods for:
Method operates on the system as single object. But some methods for matrix only manipulation can be provided until we have matrix as separate class.
TODO:
Declare an io filter based on FSM for filtering comments.
Definition at line 102 of file comment_filter.hh.
enum Input::FileFormat |
Possible formats of input files.
Enumerator | |
---|---|
format_JSON | |
format_YAML |
Definition at line 59 of file reader_to_storage.hh.
enum Input::ValueTypes |
Enum of possible input types.
Values in json_type_names
must be stored in same order.
Enumerator | |
---|---|
obj_type | |
array_type | |
str_type | |
bool_type | |
int_type | |
real_type | |
null_type | |
scalar_type | |
undef_type |
Definition at line 71 of file reader_to_storage.hh.
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_EXCEPTION | ( | ExcNotRegistredClass | , |
<< "Key "<< EI_KeyName::val<< " isn't registered in factory for type "<< EI_TypeName::val<< "!" | |||
) |
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_INPUT_EXCEPTION | ( | ExcInputMessage | , |
<< EI_Message::val | |||
) |
Simple input exception that accepts just string message.
|
inline |
Address output operator.
Definition at line 252 of file accessors.hh.
std::ostream & Input::operator<< | ( | std::ostream & | stream, |
const PathJSON & | path | ||
) |
Output operator for PathJSON.
Mainly for debugging purposes and error messages.
Definition at line 335 of file path_json.cc.
std::ostream & Input::operator<< | ( | std::ostream & | stream, |
const PathYAML & | path | ||
) |
Output operator for PathYAML.
Mainly for debugging purposes and error messages.
Definition at line 238 of file path_yaml.cc.
template ::Input::AbstractRecord Input::ReaderToStorage::get_root_interface<::Input::AbstractRecord > | ( | ) | const |
template ::Input::Array Input::ReaderToStorage::get_root_interface<::Input::Array > | ( | ) | const |
template ::Input::Record Input::ReaderToStorage::get_root_interface<::Input::Record > | ( | ) | const |
template ::Input::Tuple Input::ReaderToStorage::get_root_interface<::Input::Tuple > | ( | ) | const |
int Input::register_class | ( | string | class_name | ) |
Function allows simplified call of registering class to factory.
It is used for declaration of registration variable.
Example of usage:
Definition at line 64 of file factory_impl.hh.
Input::TYPEDEF_ERR_INFO | ( | EI_AccessorName | , |
const | 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_CPPRequiredType | , |
const | string | ||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_InputType | , |
const | string | ||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_KeyName | , |
const | string | ||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_ParamName | , |
const | string | ||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_RequestedType | , |
const std::string | |||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_RequiredType | , |
const | string | ||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_StoredType | , |
const std::string | |||
) |
Input::TYPEDEF_ERR_INFO | ( | EI_TypeName | , |
const | string | ||
) |