13 #define TYPE_TO_ENUM(type,e_val) template<> ParameterTypes ParameterTypeToEnum::toEnum<type >(){ return e_val; } 14 #define TYPE_TO_NAME(type) case k_ ## type: return #type 19 class LuminosityBlockID;
114 print_(os, optional, writeToCfi, dfh);
123 printNestedContent_(os, optional, dfh);
129 char oldFill = os.fill(
' ');
137 std::unique_ptr<ParameterDescriptionCases<bool>>
140 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
141 return caseValue >>
std::move(clonedNode);
144 std::unique_ptr<ParameterDescriptionCases<int>>
147 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
148 return caseValue >>
std::move(clonedNode);
151 std::unique_ptr<ParameterDescriptionCases<std::string>>
154 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
155 return caseValue >>
std::move(clonedNode);
158 std::unique_ptr<ParameterDescriptionCases<std::string>>
161 std::unique_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
162 return caseValue >>
std::move(clonedNode);
165 std::unique_ptr<ParameterDescriptionCases<bool>>
167 std::unique_ptr<ParameterDescriptionNode> node) {
168 return std::unique_ptr<ParameterDescriptionCases<bool>>(
172 std::unique_ptr<ParameterDescriptionCases<int>>
174 std::unique_ptr<ParameterDescriptionNode> node) {
175 return std::unique_ptr<ParameterDescriptionCases<int>>(
179 std::unique_ptr<ParameterDescriptionCases<std::string>>
181 std::unique_ptr<ParameterDescriptionNode> node) {
182 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
186 std::unique_ptr<ParameterDescriptionCases<std::string>>
188 std::unique_ptr<ParameterDescriptionNode> node) {
190 return std::unique_ptr<ParameterDescriptionCases<std::string>>(
196 std::unique_ptr<ParameterDescriptionNode>
199 return std::make_unique<ANDGroupDescription>(node_left, node_right);
202 std::unique_ptr<ParameterDescriptionNode>
203 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
205 return std::make_unique<ANDGroupDescription>(
std::move(node_left), node_right);
208 std::unique_ptr<ParameterDescriptionNode>
210 std::unique_ptr<ParameterDescriptionNode> node_right) {
211 return std::make_unique<ANDGroupDescription>(node_left,
std::move(node_right));
214 std::unique_ptr<ParameterDescriptionNode>
215 operator&&(std::unique_ptr<ParameterDescriptionNode> node_left,
216 std::unique_ptr<ParameterDescriptionNode> node_right) {
217 return std::make_unique<ANDGroupDescription>(
std::move(node_left),
std::move(node_right));
222 std::unique_ptr<ParameterDescriptionNode>
225 return std::make_unique<ORGroupDescription>(node_left, node_right);
228 std::unique_ptr<ParameterDescriptionNode>
229 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
231 return std::make_unique<ORGroupDescription>(
std::move(node_left), node_right);
234 std::unique_ptr<ParameterDescriptionNode>
236 std::unique_ptr<ParameterDescriptionNode> node_right) {
237 return std::make_unique<ORGroupDescription>(node_left,
std::move(node_right));
240 std::unique_ptr<ParameterDescriptionNode>
241 operator||(std::unique_ptr<ParameterDescriptionNode> node_left,
242 std::unique_ptr<ParameterDescriptionNode> node_right) {
243 return std::make_unique<ORGroupDescription>(
std::move(node_left),
std::move(node_right));
248 std::unique_ptr<ParameterDescriptionNode>
251 return std::make_unique<XORGroupDescription>(node_left, node_right);
254 std::unique_ptr<ParameterDescriptionNode>
255 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
257 return std::make_unique<XORGroupDescription>(
std::move(node_left), node_right);
260 std::unique_ptr<ParameterDescriptionNode>
262 std::unique_ptr<ParameterDescriptionNode> node_right) {
263 return std::make_unique<XORGroupDescription>(node_left,
std::move(node_right));
266 std::unique_ptr<ParameterDescriptionNode>
267 operator^(std::unique_ptr<ParameterDescriptionNode> node_left,
268 std::unique_ptr<ParameterDescriptionNode> node_right) {
269 return std::make_unique<XORGroupDescription>(
std::move(node_left),
std::move(node_right));
virtual ~ParameterDescriptionNode()
void setComment(std::string const &value)
std::istream & operator>>(std::istream &is, FileInPath &fip)
void printNestedContent(std::ostream &os, bool optional, DocFormatHelper &dfh) const
#define TYPE_TO_ENUM(type, e_val)
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::unique_ptr< ParameterDescriptionCases< bool > > operator||(std::unique_ptr< ParameterDescriptionCases< bool > >, std::unique_ptr< ParameterDescriptionCases< bool > >)
virtual ParameterDescriptionNode * clone() const =0
#define TYPE_TO_NAME(type)
std::unique_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)
bool hasNestedContent(int const &value)
std::vector< std::string > vstring