13 #define TYPE_TO_ENUM(type, e_val) \ 15 ParameterTypes ParameterTypeToEnum::toEnum<type>() { \ 18 #define TYPE_TO_NAME(type) \ 21 #define TYPE_TO_NAME2(e_val, type) \ 28 class LuminosityBlockID;
128 char oldFill = os.fill(
' ');
137 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
138 return caseValue >>
std::move(clonedNode);
142 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
143 return caseValue >>
std::move(clonedNode);
148 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
149 return caseValue >>
std::move(clonedNode);
152 std::unique_ptr<ParameterDescriptionCases<std::string>>
operator>>(
char const* caseValue,
154 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
155 return caseValue >>
std::move(clonedNode);
158 std::unique_ptr<ParameterDescriptionCases<bool>>
operator>>(
bool caseValue,
159 std::unique_ptr<ParameterDescriptionNode> node) {
160 return std::unique_ptr<ParameterDescriptionCases<bool>>(
164 std::unique_ptr<ParameterDescriptionCases<int>>
operator>>(
int caseValue,
165 std::unique_ptr<ParameterDescriptionNode> node) {
166 return std::unique_ptr<ParameterDescriptionCases<int>>(
171 std::unique_ptr<ParameterDescriptionNode> node) {
172 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
176 std::unique_ptr<ParameterDescriptionCases<std::string>>
operator>>(
char const* caseValue,
177 std::unique_ptr<ParameterDescriptionNode> node) {
179 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
187 return std::make_unique<ANDGroupDescription>(node_left, node_right);
190 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
192 return std::make_unique<ANDGroupDescription>(
std::move(node_left), node_right);
196 std::unique_ptr<ParameterDescriptionNode> node_right) {
197 return std::make_unique<ANDGroupDescription>(node_left,
std::move(node_right));
200 std::unique_ptr<ParameterDescriptionNode>
operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
201 std::unique_ptr<ParameterDescriptionNode> node_right) {
202 return std::make_unique<ANDGroupDescription>(
std::move(node_left),
std::move(node_right));
209 return std::make_unique<ORGroupDescription>(node_left, node_right);
212 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
214 return std::make_unique<ORGroupDescription>(
std::move(node_left), node_right);
218 std::unique_ptr<ParameterDescriptionNode> node_right) {
219 return std::make_unique<ORGroupDescription>(node_left,
std::move(node_right));
222 std::unique_ptr<ParameterDescriptionNode>
operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
223 std::unique_ptr<ParameterDescriptionNode> node_right) {
224 return std::make_unique<ORGroupDescription>(
std::move(node_left),
std::move(node_right));
231 return std::make_unique<XORGroupDescription>(node_left, node_right);
234 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
236 return std::make_unique<XORGroupDescription>(
std::move(node_left), node_right);
240 std::unique_ptr<ParameterDescriptionNode> node_right) {
241 return std::make_unique<XORGroupDescription>(node_left,
std::move(node_right));
244 std::unique_ptr<ParameterDescriptionNode>
operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
245 std::unique_ptr<ParameterDescriptionNode> node_right) {
246 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< ParameterDescriptionNode > operator &&(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
void print(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh) const
std::unique_ptr< ParameterDescriptionCases< bool > > operator>>(bool caseValue, ParameterDescriptionNode const &node)
#define TYPE_TO_ENUM(type, e_val)
std::string parameterTypeEnumToString(ParameterTypes iType)
#define TYPE_TO_NAME2(e_val, type)
void printNestedContent(std::ostream &os, bool optional, 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 > >)
#define TYPE_TO_NAME(type)
std::unique_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &) const
virtual void printNestedContent_(std::ostream &, bool, DocFormatHelper &) const
bool hasNestedContent() const
std::vector< std::string > vstring