Candidate_v1.6.1
Line | |
---|
1 | /*
|
---|
2 | * OptionTrait.hpp
|
---|
3 | *
|
---|
4 | * Created on: Oct 27, 2010
|
---|
5 | * Author: heber
|
---|
6 | */
|
---|
7 |
|
---|
8 | #ifndef OPTIONTRAIT_HPP_
|
---|
9 | #define OPTIONTRAIT_HPP_
|
---|
10 |
|
---|
11 | // include config.h
|
---|
12 | #ifdef HAVE_CONFIG_H
|
---|
13 | #include <config.h>
|
---|
14 | #endif
|
---|
15 |
|
---|
16 |
|
---|
17 | #include <string>
|
---|
18 | #include <typeinfo>
|
---|
19 | #include <iosfwd>
|
---|
20 |
|
---|
21 | namespace MoleCuilder {
|
---|
22 |
|
---|
23 | /** Contains basic information for Options.
|
---|
24 | */
|
---|
25 | class OptionTrait
|
---|
26 | {
|
---|
27 | public:
|
---|
28 | OptionTrait(const std::string &_token, std::type_info const * const _type, const std::string &_description, const std::string &_defaultvalue = std::string(), const std::string &_shortform = std::string());
|
---|
29 | //OptionTrait(const OptionTrait &o);
|
---|
30 | virtual ~OptionTrait();
|
---|
31 |
|
---|
32 | // getter for the information contained
|
---|
33 | const std::string& getDefaultValue() const;
|
---|
34 | const std::string& getDescription() const;
|
---|
35 | const std::string getKeyAndShortForm() const;
|
---|
36 | const std::string& getName() const;
|
---|
37 | const std::string& getShortForm() const;
|
---|
38 | const std::type_info * const getType() const;
|
---|
39 | const std::string getTypeName() const;
|
---|
40 |
|
---|
41 | // setter for information
|
---|
42 | void setShortForm(const std::string _shortform);
|
---|
43 |
|
---|
44 | bool hasDefaultValue() const;
|
---|
45 | bool hasShortForm() const;
|
---|
46 |
|
---|
47 | protected:
|
---|
48 | const std::string Token;
|
---|
49 | const std::type_info* const InternalType;
|
---|
50 | const std::string Description;
|
---|
51 | const std::string DefaultValue;
|
---|
52 | std::string ShortForm;
|
---|
53 | };
|
---|
54 |
|
---|
55 |
|
---|
56 | }
|
---|
57 |
|
---|
58 | std::ostream& operator<<(std::ostream &out, const MoleCuilder::OptionTrait &t);
|
---|
59 |
|
---|
60 | #endif /* OPTIONTRAIT_HPP_ */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.