Flow123d  jenkins-Flow123d-linux-release-multijob-282
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Input::Type::FileName Class Reference

Class for declaration of the input data that are file names. More...

#include <type_base.hh>

Inheritance diagram for Input::Type::FileName:
Inheritance graph
[legend]
Collaboration diagram for Input::Type::FileName:
Collaboration graph
[legend]

Public Member Functions

std::size_t content_hash () const override
 
virtual string type_name () const
 Returns an identification of the type. Useful for error messages. More...
 
virtual bool operator== (const TypeBase &other) const
 
virtual bool match (const string &str) const
 Checks relative output paths. More...
 
::FilePath::FileType get_file_type () const
 
- Public Member Functions inherited from Input::Type::String
string from_default (const string &str) const
 
virtual bool valid_default (const string &str) const
 Implements Type::TypeBase::valid_defaults. More...
 
- Public Member Functions inherited from Input::Type::Scalar
virtual string full_type_name () const
 Returns an identification of the type in format "type_name():parent->type_name()". More...
 
- Public Member Functions inherited from Input::Type::TypeBase
virtual bool is_finished () const
 
string desc () const
 
bool operator!= (const TypeBase &other) const
 Comparison of types. More...
 
virtual ~TypeBase ()
 
virtual bool finish ()
 

Static Public Member Functions

static FileName input ()
 
static FileName output ()
 
- Static Public Member Functions inherited from Input::Type::TypeBase
static void lazy_finish ()
 Finishes all registered lazy types. More...
 

Private Member Functions

 FileName ()
 Forbids default constructor. More...
 
 FileName (enum::FilePath::FileType type)
 Forbids direct construction. More...
 

Private Attributes

::FilePath::FileType type_
 

Additional Inherited Members

- Protected Types inherited from Input::Type::TypeBase
typedef string KeyHash
 
typedef std::vector
< boost::shared_ptr< TypeBase > > 
LazyTypeVector
 
typedef std::set< const
TypeBase * > 
LazyObjectsSet
 
- Protected Member Functions inherited from Input::Type::TypeBase
 TypeBase ()
 
 TypeBase (const TypeBase &other)
 
- Static Protected Member Functions inherited from Input::Type::TypeBase
static KeyHash key_hash (const string &str)
 Hash function. More...
 
static bool is_valid_identifier (const string &key)
 
static LazyTypeVectorlazy_type_list ()
 
static LazyObjectsSetlazy_object_set ()
 
static bool was_constructed (const TypeBase *ptr)
 

Detailed Description

Class for declaration of the input data that are file names.

We strictly distinguish filenames for input and output files.

Definition at line 456 of file type_base.hh.

Constructor & Destructor Documentation

Input::Type::FileName::FileName ( )
inlineprivate

Forbids default constructor.

Definition at line 497 of file type_base.hh.

Input::Type::FileName::FileName ( enum::FilePath::FileType  type)
inlineprivate

Forbids direct construction.

Definition at line 500 of file type_base.hh.

Member Function Documentation

std::size_t Input::Type::FileName::content_hash ( ) const
overridevirtual

Hash of the type specification. Provides unique id computed from its content (definition) so that same types have same hash.

Reimplemented from Input::Type::String.

Definition at line 412 of file type_base.cc.

Here is the caller graph for this function:

::FilePath::FileType Input::Type::FileName::get_file_type ( ) const
inline

Returns type of the file input/output.

Definition at line 487 of file type_base.hh.

Here is the caller graph for this function:

static FileName Input::Type::FileName::input ( )
inlinestatic

Factory function for declaring type FileName for input files.

Definition at line 464 of file type_base.hh.

Here is the caller graph for this function:

bool Input::Type::FileName::match ( const string &  str) const
virtual

Checks relative output paths.

Reimplemented from Input::Type::String.

Definition at line 437 of file type_base.cc.

virtual bool Input::Type::FileName::operator== ( const TypeBase other) const
inlinevirtual

Comparison of types. It compares kind of type (Integer, Double, String, Record, ..), for complex types it also compares names. For arrays compare subtypes.

Reimplemented from Input::Type::TypeBase.

Definition at line 475 of file type_base.hh.

static FileName Input::Type::FileName::output ( )
inlinestatic

Factory function for declaring type FileName for input files.

Definition at line 470 of file type_base.hh.

string Input::Type::FileName::type_name ( ) const
virtual

Returns an identification of the type. Useful for error messages.

Reimplemented from Input::Type::String.

Definition at line 424 of file type_base.cc.

Here is the caller graph for this function:

Member Data Documentation

::FilePath::FileType Input::Type::FileName::type_
private

Definition at line 494 of file type_base.hh.


The documentation for this class was generated from the following files: