Tapkee
stichwort/keywords.hpp
Go to the documentation of this file.
1 
29 #ifndef STICHWORT_KEYWORDS_H_
30 #define STICHWORT_KEYWORDS_H_
31 
32 #include <stichwort/parameter.hpp>
33 
35 namespace stichwort
36 {
43  struct DefaultValue
44  {
46  };
47 
61  template <typename T>
63  {
64  typedef std::string Name;
65  typedef T Type;
66 
67  ParameterKeyword(const Name& n, const T& dv) : name(n), default_value(dv) { }
69  ParameterKeyword operator=(const ParameterKeyword& pk);
70 
71  Parameter operator=(const T& value) const
72  {
73  return Parameter::create(name,value);
74  }
76  {
77  return Parameter::create(name,default_value);
78  }
79  operator Name() const
80  {
81  return name;
82  }
83 
84  Name name;
86  };
87 
89  {
91  {
92 
93  }
95  ParametersForwarder& operator=(const ParametersForwarder&);
97  {
98  return parameters;
99  }
100  };
101 
102  namespace
103  {
107  const DefaultValue by_default;
108 
110  }
111 }
112 #endif
Parameter operator=(const DefaultValue &) const
ParametersSet operator[](ParametersSet parameters) const
The namespace that contains implementations for the keywords.
static Parameter create(const std::string &name, const T &value)
Definition: parameter.hpp:64
const stichwort::ParametersForwarder kwargs
Definition: defines.hpp:63
ParameterKeyword(const Name &n, const T &dv)
Parameter operator=(const T &value) const