ifw-core  5.0.0-pre2
Public Member Functions | List of all members
core::utils::file::Yaml Class Reference

Class implementing the handling of Yaml files in the ICS environment. More...

#include <yaml.hpp>

Inheritance diagram for core::utils::file::Yaml:
core::utils::file::ParameterFile core::utils::param::ParameterSet

Public Member Functions

 Yaml ()
 
 ~Yaml ()
 
virtual void LoadUser (const std::string &file_name, const bool merge=false)
 Load the Yaml file and convert its contents into a dictionary. More...
 
- Public Member Functions inherited from core::utils::file::ParameterFile
 ParameterFile ()
 
 ParameterFile (const ParameterFile &source)
 Copy constructor. More...
 
 ~ParameterFile ()
 
virtual void Load (const std::string &filename, const bool merge=false)
 Load a file containing parameters. More...
 
const std::string & GetProcFile () const
 Return reference to file being processed (loaded). More...
 
ParameterFileoperator= (const ParameterFile &source)
 Assignment operator. More...
 
- Public Member Functions inherited from core::utils::param::ParameterSet
 ParameterSet ()
 
 ParameterSet (const ParameterSet &source)
 Copy constructor. More...
 
 ~ParameterSet ()
 
ParameterSetClear ()
 Clear the object. More...
 
void Store (const std::string &par_name, const std::string &value, const std::string &comment="")
 Store a parameter name, value and possibly comment in the object. More...
 
std::string GetValue (const std::string &par_name, const bool exception=false) const
 Return value for the referenced parameter as a string. More...
 
template<class TYPE >
bool GetValue (const std::string &name, TYPE &value, const bool exception=false) const
 Return value for the referenced parameter as its native data type. More...
 
const core::utils::param::ParameterGetPar (const std::string &par_name) const
 Get reference to parameter object, referenced by its name. More...
 
bool HasPar (const std::string &par_name) const
 Returns true if parameter is defined. More...
 
bool HasPar (const std::string &par_name, core::utils::param::Parameter &parameter) const
 Returns true if parameter defined, copies parameter object to object provided. More...
 
bool HasPar (const std::string &par_name, std::string &value) const
 Returns true if parameter defined and copies value into "value" parameter. More...
 
template<class TYPE >
bool HasPar (const std::string &par_name, TYPE &value) const
 Return true if parameter defined, sets the value as the native value. More...
 
uint32_t Scan (const std::string &filter_reg_exp, std::vector< core::utils::param::Parameter > &matches) const
 Scans through the parameter object namespace and creates list of matching parameters. More...
 
std::string ToString (const std::string &filter_reg_exp="") const
 Prints out contents of object, applying regular expression filtering, if specified. More...
 
std::vector< std::string > ParNames () const
 Returns list of parameter names. More...
 
const std::map< std::string, core::utils::param::Parameter > & GetParameterMap () const
 Return reference to the internal map with the names/parameter objects. More...
 
void Merge (const ParameterSet &source_set)
 Merge the parameters of the source into this instance. More...
 
ParameterSetoperator= (const ParameterSet &source)
 Assignment operator. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from core::utils::param::ParameterSet
static std::string ToString (std::vector< core::utils::param::Parameter > &par_list)
 Create an ASCII print out of the parameters in the list. More...
 
- Protected Member Functions inherited from core::utils::file::ParameterFile
void _Copy (const ParameterFile &source)
 
- Protected Member Functions inherited from core::utils::param::ParameterSet
void _Copy (const ParameterSet &source)
 
- Protected Attributes inherited from core::utils::file::ParameterFile
std::string m_proc_file
 
std::vector< std::string > m_loaded_files
 
- Protected Attributes inherited from core::utils::param::ParameterSet
std::map< std::string, core::utils::param::Parameterm_par_map
 

Detailed Description

Class implementing the handling of Yaml files in the ICS environment.

Basically the keys in the Yaml file are extracted and stored in a core::utils::file::ParameterFile object, from which the Yaml class is derived.

Constructor & Destructor Documentation

◆ Yaml()

core::utils::file::Yaml::Yaml ( )

◆ ~Yaml()

core::utils::file::Yaml::~Yaml ( )

Member Function Documentation

◆ LoadUser()

void core::utils::file::Yaml::LoadUser ( const std::string &  file_name,
const bool  merge = false 
)
virtual

Load the Yaml file and convert its contents into a dictionary.

Parameters
file_nameName of Yaml file to load.
mergeIf true, the key/value sets of multiple Yaml files is merged.

Parse the content of the Yaml file and convert create keys as follows, e.g.:

Detector*.Window*.StartX: Class: (Configuration) Type: Float Format: .1f

is mapped into the following key/value sets:

Detector*.Window*.StartX = "" Detector*.Window*.StartX::Class = "(Configuration)" Detector*.Window*.StartX::Type = "Float" Detector*.Window*.StartX::Format = ".1f"

Reimplemented from core::utils::file::ParameterFile.


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