Flow123d  release_2.2.0-33-g759111d
attribute_lib.hh
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file type_attribute_lib.hh
15  * @brief
16  */
17 
18 #ifndef TYPE_ATTRIBUTE_LIB_HH_
19 #define TYPE_ATTRIBUTE_LIB_HH_
20 
21 using namespace std;
22 
23 namespace Input {
24 namespace Type {
25 
26 /**
27  * @brief Class with static methods provided common attributes of Input::Type objects.
28  *
29  * These attributes can be used in any Input::Type object.
30  */
31 class Attribute {
32 public:
33  /**
34  * This attribute provides a list of names of the free parameters of the subtree of a generic type.
35  * Value is a list of strings.
36  */
37  inline static string generic_parameters()
38  { return "_generic_parameters"; }
39 
40  /**
41  * This attribute is set to value 'true' for the generic types that are the root types of a generic subtree, i.e.
42  * The Input::Type::Instance was applied to them.
43  * Value is a bool.
44  */
45  inline static string root_of_generic_subtree()
46  { return "_root_of_generic_subtree"; }
47 
48  /**
49  * Indicates that formatter should make the type documentation part
50  * of the documentation of the type that use it. E.g. documentation
51  * of a record key contain documentation of its type.
52  *
53  * Value is a bool.
54  */
55  inline static string embedded_doc()
56  { return "_embedded_doc"; }
57 
58  /**
59  * Propose custom target name for hypertext reference.
60  *
61  * Format of value: string
62  */
63  inline static string link_name()
64  { return "_link_name"; }
65 
66  /**
67  * Attribute to mark obsolete types. The value of the attribute is the replacement of the
68  * feature, or reason to abandon the type.
69  *
70  * Format of value: bool
71  */
72  inline static string obsolete()
73  { return "obsolete"; }
74 
75 };
76 
77 
78 } // closing namespace Type
79 } // closing namespace Input
80 
81 #endif /* TYPE_ATTRIBUTE_LIB_HH_ */
static string generic_parameters()
Class with static methods provided common attributes of Input::Type objects.
static string link_name()
static string root_of_generic_subtree()
static string embedded_doc()
static string obsolete()