source: src/Parser/FormatParser_Parameters.hpp@ cdac1d

SaturateAtoms_singleDegree
Last change on this file since cdac1d was 6440c6, checked in by Frederik Heber <heber@…>, 12 years ago

Reworked inheritance graph of Parameter and Value.

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[c1db05]1/*
2 * FormatParser_Parameters.hpp
3 *
4 * Created on: Sep 5, 2011
5 * Author: heber
6 */
7
8#ifndef FORMATPARSER_PARAMETERS_HPP_
9#define FORMATPARSER_PARAMETERS_HPP_
10
11// include config.h
12#ifdef HAVE_CONFIG_H
13#include <config.h>
14#endif
15
[7f570c]16#include <iosfwd>
17
[c1db05]18#include "CodePatterns/Clone.hpp"
19
[ee50c1]20#include "Parser/Parameters/ParameterStorage.hpp"
21
[6440c6]22class ParameterInterface;
[ee50c1]23
[c1db05]24/** This class is an interface to the internal parameters of any FormatParser.
25 *
26 * We need this for undo/redoing LoadAction.
27 *
28 */
29class FormatParser_Parameters : public Clone<FormatParser_Parameters>
30{
[7f570c]31 //!> allow operator access to storage for easier printing.
32 friend std::ostream & operator << (std::ostream& ost, const FormatParser_Parameters &params);
[c1db05]33public:
[ee50c1]34 FormatParser_Parameters();
35 FormatParser_Parameters(const FormatParser_Parameters &_parameters);
36 ~FormatParser_Parameters();
37
38 // cloning
39 FormatParser_Parameters* clone() const;
40 void makeClone(const FormatParser_Parameters &_instance);
41
42 // accessing parameters in storage
[6440c6]43 void appendParameter(ParameterInterface *instance);
[ee50c1]44 bool haveParameter(const std::string &_name) const;
[6440c6]45 ParameterInterface *getParameter(const std::string &_name) const;
[ee50c1]46
47protected:
48 ParameterStorage *storage;
[c1db05]49};
50
[7f570c]51std::ostream & operator << (std::ostream& ost, const FormatParser_Parameters &params);
52
53std::istream & operator >> (std::istream& ist, FormatParser_Parameters &params);
54
[c1db05]55
56#endif /* FORMATPARSER_PARAMETERS_HPP_ */
Note: See TracBrowser for help on using the repository browser.