# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1265968820 -3600
# Node ID 75e6020b19b1e96a1e51944ca100c87f0cb73b63
# Parent a7e93de12cbda2267756b130476b8e84572002bf
Add doc for the traits class parameters (#315)
diff --git a/lemon/bellman_ford.h b/lemon/bellman_ford.h
a
|
b
|
|
171 | 171 | /// \tparam LEN A \ref concepts::ReadMap "readable" arc map that specifies |
172 | 172 | /// the lengths of the arcs. The default map type is |
173 | 173 | /// \ref concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 174 | /// \tparam TR The traits class that defines various types used by the |
| 175 | /// algorithm. By default, it is \ref BellmanFordDefaultTraits |
| 176 | /// "BellmanFordDefaultTraits<GR, LEN>". |
| 177 | /// In most cases, this parameter should not be set directly, |
| 178 | /// consider to use the named template parameters instead. |
174 | 179 | #ifdef DOXYGEN |
175 | 180 | template <typename GR, typename LEN, typename TR> |
176 | 181 | #else |
… |
… |
|
933 | 938 | /// |
934 | 939 | /// This class should only be used through the \ref bellmanFord() |
935 | 940 | /// function, which makes it easier to use the algorithm. |
| 941 | /// |
| 942 | /// \tparam TR The traits class that defines various types used by the |
| 943 | /// algorithm. |
936 | 944 | template<class TR> |
937 | 945 | class BellmanFordWizard : public TR { |
938 | 946 | typedef TR Base; |
diff --git a/lemon/bfs.h b/lemon/bfs.h
a
|
b
|
|
121 | 121 | /// |
122 | 122 | ///\tparam GR The type of the digraph the algorithm runs on. |
123 | 123 | ///The default type is \ref ListDigraph. |
| 124 | ///\tparam TR The traits class that defines various types used by the |
| 125 | ///algorithm. By default, it is \ref BfsDefaultTraits |
| 126 | ///"BfsDefaultTraits<GR>". |
| 127 | ///In most cases, this parameter should not be set directly, |
| 128 | ///consider to use the named template parameters instead. |
124 | 129 | #ifdef DOXYGEN |
125 | 130 | template <typename GR, |
126 | 131 | typename TR> |
… |
… |
|
957 | 962 | /// |
958 | 963 | /// This class should only be used through the \ref bfs() function, |
959 | 964 | /// which makes it easier to use the algorithm. |
| 965 | /// |
| 966 | /// \tparam TR The traits class that defines various types used by the |
| 967 | /// algorithm. |
960 | 968 | template<class TR> |
961 | 969 | class BfsWizard : public TR |
962 | 970 | { |
… |
… |
|
1295 | 1303 | /// \ref BfsVisitor "BfsVisitor<GR>" is an empty visitor, which |
1296 | 1304 | /// does not observe the BFS events. If you want to observe the BFS |
1297 | 1305 | /// events, you should implement your own visitor class. |
1298 | | /// \tparam TR Traits class to set various data types used by the |
1299 | | /// algorithm. The default traits class is |
1300 | | /// \ref BfsVisitDefaultTraits "BfsVisitDefaultTraits<GR>". |
1301 | | /// See \ref BfsVisitDefaultTraits for the documentation of |
1302 | | /// a BFS visit traits class. |
| 1306 | /// \tparam TR The traits class that defines various types used by the |
| 1307 | /// algorithm. By default, it is \ref BfsVisitDefaultTraits |
| 1308 | /// "BfsVisitDefaultTraits<GR>". |
| 1309 | /// In most cases, this parameter should not be set directly, |
| 1310 | /// consider to use the named template parameters instead. |
1303 | 1311 | #ifdef DOXYGEN |
1304 | 1312 | template <typename GR, typename VS, typename TR> |
1305 | 1313 | #else |
diff --git a/lemon/capacity_scaling.h b/lemon/capacity_scaling.h
a
|
b
|
|
77 | 77 | /// |
78 | 78 | /// \tparam GR The digraph type the algorithm runs on. |
79 | 79 | /// \tparam V The number type used for flow amounts, capacity bounds |
80 | | /// and supply values in the algorithm. By default it is \c int. |
| 80 | /// and supply values in the algorithm. By default, it is \c int. |
81 | 81 | /// \tparam C The number type used for costs and potentials in the |
82 | | /// algorithm. By default it is the same as \c V. |
| 82 | /// algorithm. By default, it is the same as \c V. |
| 83 | /// \tparam TR The traits class that defines various types used by the |
| 84 | /// algorithm. By default, it is \ref CapacityScalingDefaultTraits |
| 85 | /// "CapacityScalingDefaultTraits<GR, V, C>". |
| 86 | /// In most cases, this parameter should not be set directly, |
| 87 | /// consider to use the named template parameters instead. |
83 | 88 | /// |
84 | 89 | /// \warning Both number types must be signed and all input data must |
85 | 90 | /// be integer. |
diff --git a/lemon/circulation.h b/lemon/circulation.h
a
|
b
|
|
173 | 173 | The default map type is \c LM. |
174 | 174 | \tparam SM The type of the supply map. The default map type is |
175 | 175 | \ref concepts::Digraph::NodeMap "GR::NodeMap<UM::Value>". |
| 176 | \tparam TR The traits class that defines various types used by the |
| 177 | algorithm. By default, it is \ref CirculationDefaultTraits |
| 178 | "CirculationDefaultTraits<GR, LM, UM, SM>". |
| 179 | In most cases, this parameter should not be set directly, |
| 180 | consider to use the named template parameters instead. |
176 | 181 | */ |
177 | 182 | #ifdef DOXYGEN |
178 | 183 | template< typename GR, |
diff --git a/lemon/cost_scaling.h b/lemon/cost_scaling.h
a
|
b
|
|
104 | 104 | /// |
105 | 105 | /// \tparam GR The digraph type the algorithm runs on. |
106 | 106 | /// \tparam V The number type used for flow amounts, capacity bounds |
107 | | /// and supply values in the algorithm. By default it is \c int. |
| 107 | /// and supply values in the algorithm. By default, it is \c int. |
108 | 108 | /// \tparam C The number type used for costs and potentials in the |
109 | | /// algorithm. By default it is the same as \c V. |
| 109 | /// algorithm. By default, it is the same as \c V. |
| 110 | /// \tparam TR The traits class that defines various types used by the |
| 111 | /// algorithm. By default, it is \ref CostScalingDefaultTraits |
| 112 | /// "CostScalingDefaultTraits<GR, V, C>". |
| 113 | /// In most cases, this parameter should not be set directly, |
| 114 | /// consider to use the named template parameters instead. |
110 | 115 | /// |
111 | 116 | /// \warning Both number types must be signed and all input data must |
112 | 117 | /// be integer. |
… |
… |
|
136 | 141 | /// \brief The large cost type |
137 | 142 | /// |
138 | 143 | /// The large cost type used for internal computations. |
139 | | /// Using the \ref CostScalingDefaultTraits "default traits class", |
140 | | /// it is \c long \c long if the \c Cost type is integer, |
| 144 | /// By default, it is \c long \c long if the \c Cost type is integer, |
141 | 145 | /// otherwise it is \c double. |
142 | 146 | typedef typename TR::LargeCost LargeCost; |
143 | 147 | |
diff --git a/lemon/dfs.h b/lemon/dfs.h
a
|
b
|
|
121 | 121 | /// |
122 | 122 | ///\tparam GR The type of the digraph the algorithm runs on. |
123 | 123 | ///The default type is \ref ListDigraph. |
| 124 | ///\tparam TR The traits class that defines various types used by the |
| 125 | ///algorithm. By default, it is \ref DfsDefaultTraits |
| 126 | ///"DfsDefaultTraits<GR>". |
| 127 | ///In most cases, this parameter should not be set directly, |
| 128 | ///consider to use the named template parameters instead. |
124 | 129 | #ifdef DOXYGEN |
125 | 130 | template <typename GR, |
126 | 131 | typename TR> |
… |
… |
|
887 | 892 | /// |
888 | 893 | /// This class should only be used through the \ref dfs() function, |
889 | 894 | /// which makes it easier to use the algorithm. |
| 895 | /// |
| 896 | /// \tparam TR The traits class that defines various types used by the |
| 897 | /// algorithm. |
890 | 898 | template<class TR> |
891 | 899 | class DfsWizard : public TR |
892 | 900 | { |
… |
… |
|
1237 | 1245 | /// \ref DfsVisitor "DfsVisitor<GR>" is an empty visitor, which |
1238 | 1246 | /// does not observe the DFS events. If you want to observe the DFS |
1239 | 1247 | /// events, you should implement your own visitor class. |
1240 | | /// \tparam TR Traits class to set various data types used by the |
1241 | | /// algorithm. The default traits class is |
1242 | | /// \ref DfsVisitDefaultTraits "DfsVisitDefaultTraits<GR>". |
1243 | | /// See \ref DfsVisitDefaultTraits for the documentation of |
1244 | | /// a DFS visit traits class. |
| 1248 | /// \tparam TR The traits class that defines various types used by the |
| 1249 | /// algorithm. By default, it is \ref DfsVisitDefaultTraits |
| 1250 | /// "DfsVisitDefaultTraits<GR>". |
| 1251 | /// In most cases, this parameter should not be set directly, |
| 1252 | /// consider to use the named template parameters instead. |
1245 | 1253 | #ifdef DOXYGEN |
1246 | 1254 | template <typename GR, typename VS, typename TR> |
1247 | 1255 | #else |
diff --git a/lemon/dijkstra.h b/lemon/dijkstra.h
a
|
b
|
|
192 | 192 | ///relatively time consuming process to compute the arc lengths if |
193 | 193 | ///it is necessary. The default map type is \ref |
194 | 194 | ///concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 195 | ///\tparam TR The traits class that defines various types used by the |
| 196 | ///algorithm. By default, it is \ref DijkstraDefaultTraits |
| 197 | ///"DijkstraDefaultTraits<GR, LEN>". |
| 198 | ///In most cases, this parameter should not be set directly, |
| 199 | ///consider to use the named template parameters instead. |
195 | 200 | #ifdef DOXYGEN |
196 | 201 | template <typename GR, typename LEN, typename TR> |
197 | 202 | #else |
… |
… |
|
1092 | 1097 | /// |
1093 | 1098 | /// This class should only be used through the \ref dijkstra() function, |
1094 | 1099 | /// which makes it easier to use the algorithm. |
| 1100 | /// |
| 1101 | /// \tparam TR The traits class that defines various types used by the |
| 1102 | /// algorithm. |
1095 | 1103 | template<class TR> |
1096 | 1104 | class DijkstraWizard : public TR |
1097 | 1105 | { |
diff --git a/lemon/hartmann_orlin.h b/lemon/hartmann_orlin.h
a
|
b
|
|
106 | 106 | /// \tparam GR The type of the digraph the algorithm runs on. |
107 | 107 | /// \tparam LEN The type of the length map. The default |
108 | 108 | /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 109 | /// \tparam TR The traits class that defines various types used by the |
| 110 | /// algorithm. By default, it is \ref HartmannOrlinDefaultTraits |
| 111 | /// "HartmannOrlinDefaultTraits<GR, LEN>". |
| 112 | /// In most cases, this parameter should not be set directly, |
| 113 | /// consider to use the named template parameters instead. |
109 | 114 | #ifdef DOXYGEN |
110 | 115 | template <typename GR, typename LEN, typename TR> |
111 | 116 | #else |
… |
… |
|
127 | 132 | /// \brief The large value type |
128 | 133 | /// |
129 | 134 | /// The large value type used for internal computations. |
130 | | /// Using the \ref HartmannOrlinDefaultTraits "default traits class", |
131 | | /// it is \c long \c long if the \c Value type is integer, |
| 135 | /// By default, it is \c long \c long if the \c Value type is integer, |
132 | 136 | /// otherwise it is \c double. |
133 | 137 | typedef typename TR::LargeValue LargeValue; |
134 | 138 | |
diff --git a/lemon/howard.h b/lemon/howard.h
a
|
b
|
|
106 | 106 | /// \tparam GR The type of the digraph the algorithm runs on. |
107 | 107 | /// \tparam LEN The type of the length map. The default |
108 | 108 | /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 109 | /// \tparam TR The traits class that defines various types used by the |
| 110 | /// algorithm. By default, it is \ref HowardDefaultTraits |
| 111 | /// "HowardDefaultTraits<GR, LEN>". |
| 112 | /// In most cases, this parameter should not be set directly, |
| 113 | /// consider to use the named template parameters instead. |
109 | 114 | #ifdef DOXYGEN |
110 | 115 | template <typename GR, typename LEN, typename TR> |
111 | 116 | #else |
… |
… |
|
127 | 132 | /// \brief The large value type |
128 | 133 | /// |
129 | 134 | /// The large value type used for internal computations. |
130 | | /// Using the \ref HowardDefaultTraits "default traits class", |
131 | | /// it is \c long \c long if the \c Value type is integer, |
| 135 | /// By default, it is \c long \c long if the \c Value type is integer, |
132 | 136 | /// otherwise it is \c double. |
133 | 137 | typedef typename TR::LargeValue LargeValue; |
134 | 138 | |
diff --git a/lemon/karp.h b/lemon/karp.h
a
|
b
|
|
104 | 104 | /// \tparam GR The type of the digraph the algorithm runs on. |
105 | 105 | /// \tparam LEN The type of the length map. The default |
106 | 106 | /// map type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 107 | /// \tparam TR The traits class that defines various types used by the |
| 108 | /// algorithm. By default, it is \ref KarpDefaultTraits |
| 109 | /// "KarpDefaultTraits<GR, LEN>". |
| 110 | /// In most cases, this parameter should not be set directly, |
| 111 | /// consider to use the named template parameters instead. |
107 | 112 | #ifdef DOXYGEN |
108 | 113 | template <typename GR, typename LEN, typename TR> |
109 | 114 | #else |
… |
… |
|
125 | 130 | /// \brief The large value type |
126 | 131 | /// |
127 | 132 | /// The large value type used for internal computations. |
128 | | /// Using the \ref KarpDefaultTraits "default traits class", |
129 | | /// it is \c long \c long if the \c Value type is integer, |
| 133 | /// By default, it is \c long \c long if the \c Value type is integer, |
130 | 134 | /// otherwise it is \c double. |
131 | 135 | typedef typename TR::LargeValue LargeValue; |
132 | 136 | |
diff --git a/lemon/min_cost_arborescence.h b/lemon/min_cost_arborescence.h
a
|
b
|
|
112 | 112 | /// relatively time consuming process to compute the arc costs if |
113 | 113 | /// it is necessary. The default map type is \ref |
114 | 114 | /// concepts::Digraph::ArcMap "Digraph::ArcMap<int>". |
115 | | /// \param TR Traits class to set various data types used |
116 | | /// by the algorithm. The default traits class is |
117 | | /// \ref MinCostArborescenceDefaultTraits |
| 115 | /// \tparam TR The traits class that defines various types used by the |
| 116 | /// algorithm. By default, it is \ref MinCostArborescenceDefaultTraits |
118 | 117 | /// "MinCostArborescenceDefaultTraits<GR, CM>". |
| 118 | /// In most cases, this parameter should not be set directly, |
| 119 | /// consider to use the named template parameters instead. |
119 | 120 | #ifndef DOXYGEN |
120 | 121 | template <typename GR, |
121 | 122 | typename CM = typename GR::template ArcMap<int>, |
122 | 123 | typename TR = |
123 | 124 | MinCostArborescenceDefaultTraits<GR, CM> > |
124 | 125 | #else |
125 | | template <typename GR, typename CM, typedef TR> |
| 126 | template <typename GR, typename CM, typename TR> |
126 | 127 | #endif |
127 | 128 | class MinCostArborescence { |
128 | 129 | public: |
diff --git a/lemon/preflow.h b/lemon/preflow.h
a
|
b
|
|
119 | 119 | /// \tparam GR The type of the digraph the algorithm runs on. |
120 | 120 | /// \tparam CAP The type of the capacity map. The default map |
121 | 121 | /// type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>". |
| 122 | /// \tparam TR The traits class that defines various types used by the |
| 123 | /// algorithm. By default, it is \ref PreflowDefaultTraits |
| 124 | /// "PreflowDefaultTraits<GR, CAP>". |
| 125 | /// In most cases, this parameter should not be set directly, |
| 126 | /// consider to use the named template parameters instead. |
122 | 127 | #ifdef DOXYGEN |
123 | 128 | template <typename GR, typename CAP, typename TR> |
124 | 129 | #else |