13 #define TYPE_TO_ENUM(type, e_val) \
15 ParameterTypes ParameterTypeToEnum::toEnum<type>() { \
18 #define TYPE_TO_NAME(type) \
25 class LuminosityBlockID;
114 print_(os, optional, writeToCfi, dfh);
125 char oldFill = os.fill(
' ');
134 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
135 return caseValue >>
std::move(clonedNode);
139 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
140 return caseValue >>
std::move(clonedNode);
145 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
146 return caseValue >>
std::move(clonedNode);
149 std::unique_ptr<ParameterDescriptionCases<std::string>>
operator>>(
char const* caseValue,
151 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
152 return caseValue >>
std::move(clonedNode);
155 std::unique_ptr<ParameterDescriptionCases<bool>>
operator>>(
bool caseValue,
156 std::unique_ptr<ParameterDescriptionNode> node) {
157 return std::unique_ptr<ParameterDescriptionCases<bool>>(
161 std::unique_ptr<ParameterDescriptionCases<int>>
operator>>(
int caseValue,
162 std::unique_ptr<ParameterDescriptionNode> node) {
163 return std::unique_ptr<ParameterDescriptionCases<int>>(
168 std::unique_ptr<ParameterDescriptionNode> node) {
169 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
173 std::unique_ptr<ParameterDescriptionCases<std::string>>
operator>>(
char const* caseValue,
174 std::unique_ptr<ParameterDescriptionNode> node) {
176 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
184 return std::make_unique<ANDGroupDescription>(node_left, node_right);
187 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
189 return std::make_unique<ANDGroupDescription>(
std::move(node_left), node_right);
193 std::unique_ptr<ParameterDescriptionNode> node_right) {
194 return std::make_unique<ANDGroupDescription>(node_left,
std::move(node_right));
197 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
198 std::unique_ptr<ParameterDescriptionNode> node_right) {
199 return std::make_unique<ANDGroupDescription>(
std::move(node_left),
std::move(node_right));
206 return std::make_unique<ORGroupDescription>(node_left, node_right);
209 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
211 return std::make_unique<ORGroupDescription>(
std::move(node_left), node_right);
215 std::unique_ptr<ParameterDescriptionNode> node_right) {
216 return std::make_unique<ORGroupDescription>(node_left,
std::move(node_right));
219 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
220 std::unique_ptr<ParameterDescriptionNode> node_right) {
221 return std::make_unique<ORGroupDescription>(
std::move(node_left),
std::move(node_right));
228 return std::make_unique<XORGroupDescription>(node_left, node_right);
231 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
233 return std::make_unique<XORGroupDescription>(
std::move(node_left), node_right);
237 std::unique_ptr<ParameterDescriptionNode> node_right) {
238 return std::make_unique<XORGroupDescription>(node_left,
std::move(node_right));
241 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
242 std::unique_ptr<ParameterDescriptionNode> node_right) {
243 return std::make_unique<XORGroupDescription>(
std::move(node_left),
std::move(node_right));
virtual ~ParameterDescriptionNode()
void setComment(std::string const &value)
virtual ParameterDescriptionNode * clone() const =0
std::unique_ptr< ParameterDescriptionCases< bool > > operator>>(bool caseValue, ParameterDescriptionNode const &node)
void printNestedContent(std::ostream &os, bool optional, DocFormatHelper &dfh) const
#define TYPE_TO_ENUM(type, e_val)
virtual void printNestedContent_(std::ostream &, bool, DocFormatHelper &) const
std::string parameterTypeEnumToString(ParameterTypes iType)
std::unique_ptr< ParameterDescriptionNode > operator&&(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
void print(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const
static void printSpaces(std::ostream &os, int n)
std::vector< double > vdouble
std::unique_ptr< ParameterDescriptionCases< bool > > operator||(std::unique_ptr< ParameterDescriptionCases< bool > >, std::unique_ptr< ParameterDescriptionCases< bool > >)
bool hasNestedContent() const
#define TYPE_TO_NAME(type)
std::unique_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
std::vector< std::string > vstring
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &) const