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
110 print_(os, optional, writeToCfi, dfh);
125 char oldFill = os.fill(
' ');
133 std::auto_ptr<ParameterDescriptionCases<bool> >
136 std::auto_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
137 return caseValue >> clonedNode;
140 std::auto_ptr<ParameterDescriptionCases<int> >
143 std::auto_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
144 return caseValue >> clonedNode;
147 std::auto_ptr<ParameterDescriptionCases<std::string> >
150 std::auto_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
151 return caseValue >> clonedNode;
154 std::auto_ptr<ParameterDescriptionCases<std::string> >
157 std::auto_ptr<ParameterDescriptionNode> clonedNode(node.
clone());
158 return caseValue >> clonedNode;
161 std::auto_ptr<ParameterDescriptionCases<bool> >
163 std::auto_ptr<ParameterDescriptionNode>
node) {
164 return std::auto_ptr<ParameterDescriptionCases<bool> >(
168 std::auto_ptr<ParameterDescriptionCases<int> >
170 std::auto_ptr<ParameterDescriptionNode>
node) {
171 return std::auto_ptr<ParameterDescriptionCases<int> >(
175 std::auto_ptr<ParameterDescriptionCases<std::string> >
177 std::auto_ptr<ParameterDescriptionNode>
node) {
178 return std::auto_ptr<ParameterDescriptionCases<std::string> >(
182 std::auto_ptr<ParameterDescriptionCases<std::string> >
184 std::auto_ptr<ParameterDescriptionNode>
node) {
185 std::string caseValueString(caseValue);
186 return std::auto_ptr<ParameterDescriptionCases<std::string> >(
192 std::auto_ptr<ParameterDescriptionNode>
195 return std::auto_ptr<ParameterDescriptionNode>(
new ANDGroupDescription(node_left, node_right));
198 std::auto_ptr<ParameterDescriptionNode>
199 operator&&(std::auto_ptr<ParameterDescriptionNode> node_left,
201 return std::auto_ptr<ParameterDescriptionNode>(
new ANDGroupDescription(node_left, node_right));
204 std::auto_ptr<ParameterDescriptionNode>
206 std::auto_ptr<ParameterDescriptionNode> node_right) {
207 return std::auto_ptr<ParameterDescriptionNode>(
new ANDGroupDescription(node_left, node_right));
210 std::auto_ptr<ParameterDescriptionNode>
211 operator&&(std::auto_ptr<ParameterDescriptionNode> node_left,
212 std::auto_ptr<ParameterDescriptionNode> node_right) {
213 return std::auto_ptr<ParameterDescriptionNode>(
new ANDGroupDescription(node_left, node_right));
218 std::auto_ptr<ParameterDescriptionNode>
221 return std::auto_ptr<ParameterDescriptionNode>(
new ORGroupDescription(node_left, node_right));
224 std::auto_ptr<ParameterDescriptionNode>
225 operator||(std::auto_ptr<ParameterDescriptionNode> node_left,
227 return std::auto_ptr<ParameterDescriptionNode>(
new ORGroupDescription(node_left, node_right));
230 std::auto_ptr<ParameterDescriptionNode>
232 std::auto_ptr<ParameterDescriptionNode> node_right) {
233 return std::auto_ptr<ParameterDescriptionNode>(
new ORGroupDescription(node_left, node_right));
236 std::auto_ptr<ParameterDescriptionNode>
237 operator||(std::auto_ptr<ParameterDescriptionNode> node_left,
238 std::auto_ptr<ParameterDescriptionNode> node_right) {
239 return std::auto_ptr<ParameterDescriptionNode>(
new ORGroupDescription(node_left, node_right));
244 std::auto_ptr<ParameterDescriptionNode>
247 return std::auto_ptr<ParameterDescriptionNode>(
new XORGroupDescription(node_left, node_right));
250 std::auto_ptr<ParameterDescriptionNode>
251 operator^(std::auto_ptr<ParameterDescriptionNode> node_left,
253 return std::auto_ptr<ParameterDescriptionNode>(
new XORGroupDescription(node_left, node_right));
256 std::auto_ptr<ParameterDescriptionNode>
258 std::auto_ptr<ParameterDescriptionNode> node_right) {
259 return std::auto_ptr<ParameterDescriptionNode>(
new XORGroupDescription(node_left, node_right));
262 std::auto_ptr<ParameterDescriptionNode>
263 operator^(std::auto_ptr<ParameterDescriptionNode> node_left,
264 std::auto_ptr<ParameterDescriptionNode> node_right) {
265 return std::auto_ptr<ParameterDescriptionNode>(
new XORGroupDescription(node_left, node_right));
virtual ~ParameterDescriptionNode()
void setComment(std::string const &value)
virtual ParameterDescriptionNode * clone() const =0
std::vector< std::string > vstring
virtual void print_(std::ostream &, bool, bool, DocFormatHelper &)
boost::enable_if_c< has_match< A >::value &&has_match< B >::value, AndHelper< A, B > >::type operator&&(A const &a, B const &b)
std::istream & operator>>(std::istream &is, FileInPath &fip)
virtual void printNestedContent_(std::ostream &, bool, DocFormatHelper &)
#define TYPE_TO_ENUM(type, e_val)
std::string parameterTypeEnumToString(ParameterTypes iType)
void printNestedContent(std::ostream &os, bool optional, DocFormatHelper &dfh)
static void printSpaces(std::ostream &os, int n)
boost::enable_if_c< has_match< A >::value &&has_match< B >::value, OrHelper< A, B > >::type operator||(A const &a, B const &b)
void print(std::ostream &os, bool optional, bool writeToCfi, DocFormatHelper &dfh)
#define TYPE_TO_NAME(type)
std::auto_ptr< ParameterDescriptionNode > operator^(ParameterDescriptionNode const &node_left, ParameterDescriptionNode const &node_right)