Class documentation of Concepts

Loading...
Searching...
No Matches
inputParam.hh
Go to the documentation of this file.
1
7#ifndef inputParam_hh
8#define inputParam_hh
9
10#include <iostream>
12#include "inputOutput.hh"
13#include "sequence.hh"
14
15namespace concepts {
16
17 // ******************************************************** InputParameter **
18
24 class InputParameter : public virtual OutputOperator {
25 public:
34 virtual std::ostream& letters(std::ostream& os) const = 0;
36 virtual std::ostream& arguments(std::ostream& os) const = 0;
38 virtual std::ostream& description(std::ostream& os) const = 0;
43 virtual int input(int opt, const char* optarg) = 0;
45 const InOutParameters parameters() const { return input_; }
46 InOutParameters& parameters() { return input_; }
47 protected:
48 virtual std::ostream& info(std::ostream& os) const;
51 };
52
53 // ************************************************************* InputFile **
54
59 class InputFile : public InputParameter {
60 public:
63
64 virtual std::ostream& letters(std::ostream& os) const;
65 virtual std::ostream& arguments(std::ostream& os) const;
66 virtual std::ostream& description(std::ostream& os) const;
67 virtual int input(int opt, const char* optarg);
68 protected:
69 virtual std::ostream& info(std::ostream& os) const;
70 };
71
72 // ****************************************************** ProcessParameter **
73
81 class ProcessParameter : public virtual OutputOperator {
82 public:
88 void add(InputParameter& input) { inputs_.push_back(&input); }
96 bool apply(int argc, char** argv);
97 protected:
98 virtual std::ostream& info(std::ostream& os) const;
100 std::unique_ptr<InputFile> inputfile_;
103
104 };
105
106} // namespace concepts
107
108#endif // inputParam_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & letters(std::ostream &os) const
virtual int input(int opt, const char *optarg)
virtual std::ostream & arguments(std::ostream &os) const
Returns argument list as string.
virtual std::ostream & description(std::ostream &os) const
Returns description for help.
InputFile(InOutParameters &input)
Constructor.
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual std::ostream & letters(std::ostream &os) const =0
virtual int input(int opt, const char *optarg)=0
InputParameter(InOutParameters &input)
const InOutParameters parameters() const
Returns input parameters.
Definition inputParam.hh:45
virtual std::ostream & description(std::ostream &os) const =0
Returns description for help.
InOutParameters & input_
Input parameter.
Definition inputParam.hh:50
virtual std::ostream & arguments(std::ostream &os) const =0
Returns argument list as string.
std::unique_ptr< InputFile > inputfile_
Reading input files.
ProcessParameter(InputParameter &input)
Constructor.
void add(InputParameter &input)
Adds another object for input parameter.
Definition inputParam.hh:88
Sequence< InputParameter * > inputs_
List of input parameter objects.
bool apply(int argc, char **argv)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
ProcessParameter(InOutParameters &input)
Constructor, just for file loading.
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320