Imported Upstream version 1.63.0
[platform/upstream/boost.git] / libs / geometry / doc / doxy / doxygen_output / xml / group__register.xml
1 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
2 <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
3   <compounddef id="group__register" kind="group">
4     <compoundname>register</compoundname>
5     <title>register: Macros for registration</title>
6       <sectiondef kind="define">
7       <memberdef kind="define" id="group__register_1gae42c838a1a14a9c026814524e7a05138" prot="public" static="no">
8         <name>BOOST_GEOMETRY_REGISTER_BOX</name>
9         <param><defname>Box</defname></param>
10         <param><defname>Point</defname></param>
11         <param><defname>MinCorner</defname></param>
12         <param><defname>MaxCorner</defname></param>
13         <initializer>namespace boost { namespace geometry { namespace traits {  \
14     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
15     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS(Box, Point, MinCorner, MaxCorner) \
16 }}}</initializer>
17         <briefdescription>
18 <para>Macro to register a box. </para>        </briefdescription>
19         <detaileddescription>
20 <para>The macro BOOST_GEOMETRY_REGISTER_BOX registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The box may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
21 <parameternamelist>
22 <parametername>Box</parametername>
23 </parameternamelist>
24 <parameterdescription>
25 <para>Box type to be registered </para></parameterdescription>
26 </parameteritem>
27 <parameteritem>
28 <parameternamelist>
29 <parametername>Point</parametername>
30 </parameternamelist>
31 <parameterdescription>
32 <para>Point type on which box is based. Might be two or three-dimensional </para></parameterdescription>
33 </parameteritem>
34 <parameteritem>
35 <parameternamelist>
36 <parametername>MinCorner</parametername>
37 </parameternamelist>
38 <parameterdescription>
39 <para>minimum corner (should be public member or method) </para></parameterdescription>
40 </parameteritem>
41 <parameteritem>
42 <parameternamelist>
43 <parametername>MaxCorner</parametername>
44 </parameternamelist>
45 <parameterdescription>
46 <para>maximum corner (should be public member or method)</para></parameterdescription>
47 </parameteritem>
48 </parameterlist>
49  <qbk>
50 [heading Example]
51 [register_box]
52 [register_box_output]
53 </qbk>  </para>        </detaileddescription>
54         <inbodydescription>
55         </inbodydescription>
56         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="121" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="121" bodyend="-1"/>
57       </memberdef>
58       <memberdef kind="define" id="group__register_1ga09c073aef353112e056b096d9630a890" prot="public" static="no">
59         <name>BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES</name>
60         <param><defname>Box</defname></param>
61         <param><defname>Point</defname></param>
62         <param><defname>Left</defname></param>
63         <param><defname>Bottom</defname></param>
64         <param><defname>Right</defname></param>
65         <param><defname>Top</defname></param>
66         <initializer>namespace boost { namespace geometry { namespace traits {  \
67     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS(Box, Point) \
68     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_4VALUES(Box, Point, Left, Bottom, Right, Top) \
69 }}}</initializer>
70         <briefdescription>
71 <para>Macro to register a box. </para>        </briefdescription>
72         <detaileddescription>
73 <para>The macro BOOST_GEOMETRY_REGISTER_BOX_2D_4VALUES registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
74 <parameternamelist>
75 <parametername>Box</parametername>
76 </parameternamelist>
77 <parameterdescription>
78 <para>Box type to be registered </para></parameterdescription>
79 </parameteritem>
80 <parameteritem>
81 <parameternamelist>
82 <parametername>Point</parametername>
83 </parameternamelist>
84 <parameterdescription>
85 <para>Point type reported as point_type by box. Must be two dimensional. Note that these box tyeps do not contain points, but they must have a related point_type </para></parameterdescription>
86 </parameteritem>
87 <parameteritem>
88 <parameternamelist>
89 <parametername>Left</parametername>
90 </parameternamelist>
91 <parameterdescription>
92 <para>Left side (must be public member or method) </para></parameterdescription>
93 </parameteritem>
94 <parameteritem>
95 <parameternamelist>
96 <parametername>Bottom</parametername>
97 </parameternamelist>
98 <parameterdescription>
99 <para>Bottom side (must be public member or method) </para></parameterdescription>
100 </parameteritem>
101 <parameteritem>
102 <parameternamelist>
103 <parametername>Right</parametername>
104 </parameternamelist>
105 <parameterdescription>
106 <para>Right side (must be public member or method) </para></parameterdescription>
107 </parameteritem>
108 <parameteritem>
109 <parameternamelist>
110 <parametername>Top</parametername>
111 </parameternamelist>
112 <parameterdescription>
113 <para>Top side (must be public member or method)</para></parameterdescription>
114 </parameteritem>
115 </parameterlist>
116  <qbk>
117 [heading Example]
118 [register_box_2d_4values]
119 [register_box_2d_4values_output]
120 </qbk>  </para>        </detaileddescription>
121         <inbodydescription>
122         </inbodydescription>
123         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="168" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="168" bodyend="-1"/>
124       </memberdef>
125       <memberdef kind="define" id="group__register_1gab504e31e32ba0ca3a2b9fe323716acbe" prot="public" static="no">
126         <name>BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED</name>
127         <param><defname>Box</defname></param>
128         <param><defname>MinCorner</defname></param>
129         <param><defname>MaxCorner</defname></param>
130         <initializer>namespace boost { namespace geometry { namespace traits {  \
131     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_TRAITS_TEMPLATED(Box) \
132     BOOST_GEOMETRY_DETAIL_SPECIALIZE_BOX_ACCESS_TEMPLATED(Box, MinCorner, MaxCorner) \
133 }}}</initializer>
134         <briefdescription>
135 <para>Macro to register a box. </para>        </briefdescription>
136         <detaileddescription>
137 <para>The macro BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED registers a box such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated box are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
138 <parameternamelist>
139 <parametername>Box</parametername>
140 </parameternamelist>
141 <parameterdescription>
142 <para>Box type to be registered </para></parameterdescription>
143 </parameteritem>
144 <parameteritem>
145 <parameternamelist>
146 <parametername>MinCorner</parametername>
147 </parameternamelist>
148 <parameterdescription>
149 <para>minimum corner (should be public member or method) </para></parameterdescription>
150 </parameteritem>
151 <parameteritem>
152 <parameternamelist>
153 <parametername>MaxCorner</parametername>
154 </parameternamelist>
155 <parameterdescription>
156 <para>maximum corner (should be public member or method)</para></parameterdescription>
157 </parameteritem>
158 </parameterlist>
159  <qbk>
160 [heading Example]
161 [register_box_templated]
162 [register_box_templated_output]
163 </qbk>  </para>        </detaileddescription>
164         <inbodydescription>
165         </inbodydescription>
166         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" line="143" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/box.hpp" bodystart="143" bodyend="-1"/>
167       </memberdef>
168       <memberdef kind="define" id="group__register_1ga1d26e8196d719505669ecdb89e11bd2b" prot="public" static="no">
169         <name>BOOST_GEOMETRY_REGISTER_LINESTRING</name>
170         <param><defname>Linestring</defname></param>
171         <initializer>namespace boost { namespace geometry { namespace traits {  \
172     template&lt;&gt; struct tag&lt;Linestring&gt; { typedef linestring_tag type; }; \
173 }}}</initializer>
174         <briefdescription>
175 <para>Macro to register a linestring. </para>        </briefdescription>
176         <detaileddescription>
177 <para>The macro BOOST_GEOMETRY_REGISTER_LINESTRING registers a linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The linestring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
178 <parameternamelist>
179 <parametername>Linestring</parametername>
180 </parameternamelist>
181 <parameterdescription>
182 <para>linestring type to be registered</para></parameterdescription>
183 </parameteritem>
184 </parameterlist>
185  <qbk>
186 [heading Example]
187 [register_linestring]
188 [register_linestring_output]
189 </qbk>  </para>        </detaileddescription>
190         <inbodydescription>
191         </inbodydescription>
192         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" line="35" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" bodystart="35" bodyend="-1"/>
193       </memberdef>
194       <memberdef kind="define" id="group__register_1ga56729e5117bdd1ef2f5df70e113135d1" prot="public" static="no">
195         <name>BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED</name>
196         <param><defname>Linestring</defname></param>
197         <initializer>namespace boost { namespace geometry { namespace traits {  \
198     template&lt;typename P&gt; struct tag&lt; Linestring&lt;P&gt; &gt; { typedef linestring_tag type; }; \
199 }}}</initializer>
200         <briefdescription>
201 <para>Macro to register a templated linestring. </para>        </briefdescription>
202         <detaileddescription>
203 <para>The macro BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED registers a templated linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated linestring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
204 <parameternamelist>
205 <parametername>Linestring</parametername>
206 </parameternamelist>
207 <parameterdescription>
208 <para>linestring (without template parameters) type to be registered</para></parameterdescription>
209 </parameteritem>
210 </parameterlist>
211  <qbk>
212 [heading Example]
213 [register_linestring_templated]
214 [register_linestring_templated_output]
215 </qbk>  </para>        </detaileddescription>
216         <inbodydescription>
217         </inbodydescription>
218         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" line="54" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/linestring.hpp" bodystart="54" bodyend="-1"/>
219       </memberdef>
220       <memberdef kind="define" id="group__register_1ga9023e4db92faf3052f86697d6efa21a2" prot="public" static="no">
221         <name>BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING</name>
222         <param><defname>MultiLineString</defname></param>
223         <initializer>namespace boost { namespace geometry { namespace traits {  \
224     template&lt;&gt; struct tag&lt;MultiLineString&gt; { typedef multi_linestring_tag type; }; \
225 }}}</initializer>
226         <briefdescription>
227 <para>Macro to register a multi_linestring. </para>        </briefdescription>
228         <detaileddescription>
229 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING registers a multi_linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_linestring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
230 <parameternamelist>
231 <parametername>MultiLineString</parametername>
232 </parameternamelist>
233 <parameterdescription>
234 <para>multi_linestring type to be registered</para></parameterdescription>
235 </parameteritem>
236 </parameterlist>
237  <qbk>
238 [heading Example]
239 [register_multi_linestring]
240 [register_multi_linestring_output]
241 </qbk>  </para>        </detaileddescription>
242         <inbodydescription>
243         </inbodydescription>
244         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" bodystart="34" bodyend="-1"/>
245       </memberdef>
246       <memberdef kind="define" id="group__register_1ga8173f4872543ac051ef41f638de05786" prot="public" static="no">
247         <name>BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING_TEMPLATED</name>
248         <param><defname>MultiLineString</defname></param>
249         <initializer>namespace boost { namespace geometry { namespace traits {  \
250     template&lt;typename LineString&gt; struct tag&lt; MultiLineString&lt;LineString&gt; &gt; { typedef multi_linestring_tag type; }; \
251 }}}</initializer>
252         <briefdescription>
253 <para>Macro to register a templated multi_linestring. </para>        </briefdescription>
254         <detaileddescription>
255 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_LINESTRING_TEMPLATED registers a templated multi_linestring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a linestring type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_linestring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
256 <parameternamelist>
257 <parametername>MultiLineString</parametername>
258 </parameternamelist>
259 <parameterdescription>
260 <para>multi_linestring (without template parameters) type to be registered</para></parameterdescription>
261 </parameteritem>
262 </parameterlist>
263  <qbk>
264 [heading Example]
265 [register_multi_linestring_templated]
266 [register_multi_linestring_templated_output]
267 </qbk>  </para>        </detaileddescription>
268         <inbodydescription>
269         </inbodydescription>
270         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_linestring.hpp" bodystart="53" bodyend="-1"/>
271       </memberdef>
272       <memberdef kind="define" id="group__register_1ga7eab973eb9098bad1869f35ba96953cb" prot="public" static="no">
273         <name>BOOST_GEOMETRY_REGISTER_MULTI_POINT</name>
274         <param><defname>MultiPoint</defname></param>
275         <initializer>namespace boost { namespace geometry { namespace traits {  \
276     template&lt;&gt; struct tag&lt;MultiPoint&gt; { typedef multi_point_tag type; }; \
277 }}}</initializer>
278         <briefdescription>
279 <para>Macro to register a multi_point. </para>        </briefdescription>
280         <detaileddescription>
281 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POINT registers a multi_point such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_point may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
282 <parameternamelist>
283 <parametername>MultiPoint</parametername>
284 </parameternamelist>
285 <parameterdescription>
286 <para>multi_point type to be registered</para></parameterdescription>
287 </parameteritem>
288 </parameterlist>
289  <qbk>
290 [heading Example]
291 [register_multi_point]
292 [register_multi_point_output]
293 </qbk>  </para>        </detaileddescription>
294         <inbodydescription>
295         </inbodydescription>
296         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" bodystart="34" bodyend="-1"/>
297       </memberdef>
298       <memberdef kind="define" id="group__register_1gae027e92ee7534cea91c749b1d371a907" prot="public" static="no">
299         <name>BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED</name>
300         <param><defname>MultiPoint</defname></param>
301         <initializer>namespace boost { namespace geometry { namespace traits {  \
302     template&lt;typename Point&gt; struct tag&lt; MultiPoint&lt;Point&gt; &gt; { typedef multi_point_tag type; }; \
303 }}}</initializer>
304         <briefdescription>
305 <para>Macro to register a templated multi_point. </para>        </briefdescription>
306         <detaileddescription>
307 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POINT_TEMPLATED registers a templated multi_point such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_point are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
308 <parameternamelist>
309 <parametername>MultiPoint</parametername>
310 </parameternamelist>
311 <parameterdescription>
312 <para>multi_point (without template parameters) type to be registered</para></parameterdescription>
313 </parameteritem>
314 </parameterlist>
315  <qbk>
316 [heading Example]
317 [register_multi_point_templated]
318 [register_multi_point_templated_output]
319 </qbk>  </para>        </detaileddescription>
320         <inbodydescription>
321         </inbodydescription>
322         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_point.hpp" bodystart="53" bodyend="-1"/>
323       </memberdef>
324       <memberdef kind="define" id="group__register_1gac464d3e7b8f908820b9e8fc2a3e7ec1a" prot="public" static="no">
325         <name>BOOST_GEOMETRY_REGISTER_MULTI_POLYGON</name>
326         <param><defname>MultiPolygon</defname></param>
327         <initializer>namespace boost { namespace geometry { namespace traits {  \
328     template&lt;&gt; struct tag&lt;MultiPolygon&gt; { typedef multi_polygon_tag type; }; \
329 }}}</initializer>
330         <briefdescription>
331 <para>Macro to register a multi_polygon. </para>        </briefdescription>
332         <detaileddescription>
333 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POLYGON registers a multi_polygon such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The multi_polygon may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
334 <parameternamelist>
335 <parametername>MultiPolygon</parametername>
336 </parameternamelist>
337 <parameterdescription>
338 <para>multi_polygon type to be registered</para></parameterdescription>
339 </parameteritem>
340 </parameterlist>
341  <qbk>
342 [heading Example]
343 [register_multi_polygon]
344 [register_multi_polygon_output]
345 </qbk>  </para>        </detaileddescription>
346         <inbodydescription>
347         </inbodydescription>
348         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" line="34" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" bodystart="34" bodyend="-1"/>
349       </memberdef>
350       <memberdef kind="define" id="group__register_1gad9d2c263a4b8d43db7d2894041cbd6a0" prot="public" static="no">
351         <name>BOOST_GEOMETRY_REGISTER_MULTI_POLYGON_TEMPLATED</name>
352         <param><defname>MultiPolygon</defname></param>
353         <initializer>namespace boost { namespace geometry { namespace traits {  \
354     template&lt;typename Polygon&gt; struct tag&lt; MultiPolygon&lt;Polygon&gt; &gt; { typedef multi_polygon_tag type; }; \
355 }}}</initializer>
356         <briefdescription>
357 <para>Macro to register a templated multi_polygon. </para>        </briefdescription>
358         <detaileddescription>
359 <para>The macro BOOST_GEOMETRY_REGISTER_MULTI_POLYGON_TEMPLATED registers a templated multi_polygon such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a polygon type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated multi_polygon are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
360 <parameternamelist>
361 <parametername>MultiPolygon</parametername>
362 </parameternamelist>
363 <parameterdescription>
364 <para>multi_polygon (without template parameters) type to be registered</para></parameterdescription>
365 </parameteritem>
366 </parameterlist>
367  <qbk>
368 [heading Example]
369 [register_multi_polygon_templated]
370 [register_multi_polygon_templated_output]
371 </qbk>  </para>        </detaileddescription>
372         <inbodydescription>
373         </inbodydescription>
374         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" line="53" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/multi_polygon.hpp" bodystart="53" bodyend="-1"/>
375       </memberdef>
376       <memberdef kind="define" id="group__register_1ga040a8280aaf06372fc637e1a436019d8" prot="public" static="no">
377         <name>BOOST_GEOMETRY_REGISTER_POINT_2D</name>
378         <param><defname>Point</defname></param>
379         <param><defname>CoordinateType</defname></param>
380         <param><defname>CoordinateSystem</defname></param>
381         <param><defname>Field0</defname></param>
382         <param><defname>Field1</defname></param>
383         <initializer>namespace boost { namespace geometry { namespace traits {  \
384     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
385     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateType, Field0, Field0) \
386     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateType, Field1, Field1) \
387 }}}</initializer>
388         <briefdescription>
389 <para>Macro to register a 2D point type. </para>        </briefdescription>
390         <detaileddescription>
391 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
392 <parameternamelist>
393 <parametername>Point</parametername>
394 </parameternamelist>
395 <parameterdescription>
396 <para>Point type to be registered </para></parameterdescription>
397 </parameteritem>
398 <parameteritem>
399 <parameternamelist>
400 <parametername>CoordinateType</parametername>
401 </parameternamelist>
402 <parameterdescription>
403 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
404 </parameteritem>
405 <parameteritem>
406 <parameternamelist>
407 <parametername>CoordinateSystem</parametername>
408 </parameternamelist>
409 <parameterdescription>
410 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
411 </parameteritem>
412 <parameteritem>
413 <parameternamelist>
414 <parametername>Field0</parametername>
415 </parameternamelist>
416 <parameterdescription>
417 <para>Member containing first (usually x) coordinate </para></parameterdescription>
418 </parameteritem>
419 <parameteritem>
420 <parameternamelist>
421 <parametername>Field1</parametername>
422 </parameternamelist>
423 <parameterdescription>
424 <para>Member containing second (usually y) coordinate</para></parameterdescription>
425 </parameteritem>
426 </parameterlist>
427  <qbk>[include reference/geometries/register/point.qbk]</qbk>  </para>        </detaileddescription>
428         <inbodydescription>
429         </inbodydescription>
430         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="70" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="70" bodyend="-1"/>
431       </memberdef>
432       <memberdef kind="define" id="group__register_1ga3a3e97175ef92eed648707933c3fbeaa" prot="public" static="no">
433         <name>BOOST_GEOMETRY_REGISTER_POINT_2D_CONST</name>
434         <param><defname>Point</defname></param>
435         <param><defname>CoordinateType</defname></param>
436         <param><defname>CoordinateSystem</defname></param>
437         <param><defname>Field0</defname></param>
438         <param><defname>Field1</defname></param>
439         <initializer>namespace boost { namespace geometry { namespace traits {  \
440     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
441     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 0, CoordinateType, Field0) \
442     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 1, CoordinateType, Field1) \
443 }}}</initializer>
444         <briefdescription>
445 <para>Macro to register a 2D point type (const version) </para>        </briefdescription>
446         <detaileddescription>
447 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D_CONST registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The const version registers only read access to the fields, the point type is therefore read-only <parameterlist kind="param"><parameteritem>
448 <parameternamelist>
449 <parametername>Point</parametername>
450 </parameternamelist>
451 <parameterdescription>
452 <para>Point type to be registered </para></parameterdescription>
453 </parameteritem>
454 <parameteritem>
455 <parameternamelist>
456 <parametername>CoordinateType</parametername>
457 </parameternamelist>
458 <parameterdescription>
459 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
460 </parameteritem>
461 <parameteritem>
462 <parameternamelist>
463 <parametername>CoordinateSystem</parametername>
464 </parameternamelist>
465 <parameterdescription>
466 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
467 </parameteritem>
468 <parameteritem>
469 <parameternamelist>
470 <parametername>Field0</parametername>
471 </parameternamelist>
472 <parameterdescription>
473 <para>Member containing first (usually x) coordinate </para></parameterdescription>
474 </parameteritem>
475 <parameteritem>
476 <parameternamelist>
477 <parametername>Field1</parametername>
478 </parameternamelist>
479 <parameterdescription>
480 <para>Member containing second (usually y) coordinate </para></parameterdescription>
481 </parameteritem>
482 </parameterlist>
483 </para>        </detaileddescription>
484         <inbodydescription>
485         </inbodydescription>
486         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="106" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="106" bodyend="-1"/>
487       </memberdef>
488       <memberdef kind="define" id="group__register_1gaf174f265da534d30be10c2f5a4a2c75e" prot="public" static="no">
489         <name>BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET</name>
490         <param><defname>Point</defname></param>
491         <param><defname>CoordinateType</defname></param>
492         <param><defname>CoordinateSystem</defname></param>
493         <param><defname>Get0</defname></param>
494         <param><defname>Get1</defname></param>
495         <param><defname>Set0</defname></param>
496         <param><defname>Set1</defname></param>
497         <initializer>namespace boost { namespace geometry { namespace traits {  \
498     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateType, CoordinateSystem) \
499     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
500     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
501 }}}</initializer>
502         <briefdescription>
503 <para>Macro to register a 2D point type (having separate get/set methods) </para>        </briefdescription>
504         <detaileddescription>
505 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET registers a two-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates <parameterlist kind="param"><parameteritem>
506 <parameternamelist>
507 <parametername>Point</parametername>
508 </parameternamelist>
509 <parameterdescription>
510 <para>Point type to be registered </para></parameterdescription>
511 </parameteritem>
512 <parameteritem>
513 <parameternamelist>
514 <parametername>CoordinateType</parametername>
515 </parameternamelist>
516 <parameterdescription>
517 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
518 </parameteritem>
519 <parameteritem>
520 <parameternamelist>
521 <parametername>CoordinateSystem</parametername>
522 </parameternamelist>
523 <parameterdescription>
524 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
525 </parameteritem>
526 <parameteritem>
527 <parameternamelist>
528 <parametername>Get0</parametername>
529 </parameternamelist>
530 <parameterdescription>
531 <para>Method to get the first (usually x) coordinate </para></parameterdescription>
532 </parameteritem>
533 <parameteritem>
534 <parameternamelist>
535 <parametername>Get1</parametername>
536 </parameternamelist>
537 <parameterdescription>
538 <para>Method to get the second (usually y) coordinate </para></parameterdescription>
539 </parameteritem>
540 <parameteritem>
541 <parameternamelist>
542 <parametername>Set0</parametername>
543 </parameternamelist>
544 <parameterdescription>
545 <para>Method to set the first (usually x) coordinate </para></parameterdescription>
546 </parameteritem>
547 <parameteritem>
548 <parameternamelist>
549 <parametername>Set1</parametername>
550 </parameternamelist>
551 <parameterdescription>
552 <para>Method to set the second (usually y) coordinate </para></parameterdescription>
553 </parameteritem>
554 </parameterlist>
555 </para>        </detaileddescription>
556         <inbodydescription>
557         </inbodydescription>
558         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="144" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="144" bodyend="-1"/>
559       </memberdef>
560       <memberdef kind="define" id="group__register_1ga98e9781be9019c6d92029507e49ef9a5" prot="public" static="no">
561         <name>BOOST_GEOMETRY_REGISTER_POINT_3D</name>
562         <param><defname>Point</defname></param>
563         <param><defname>CoordinateType</defname></param>
564         <param><defname>CoordinateSystem</defname></param>
565         <param><defname>Field0</defname></param>
566         <param><defname>Field1</defname></param>
567         <param><defname>Field2</defname></param>
568         <initializer>namespace boost { namespace geometry { namespace traits {  \
569     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
570     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateType, Field0, Field0) \
571     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateType, Field1, Field1) \
572     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 2, CoordinateType, Field2, Field2) \
573 }}}</initializer>
574         <briefdescription>
575 <para>Macro to register a 3D point type. </para>        </briefdescription>
576         <detaileddescription>
577 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. <parameterlist kind="param"><parameteritem>
578 <parameternamelist>
579 <parametername>Point</parametername>
580 </parameternamelist>
581 <parameterdescription>
582 <para>Point type to be registered </para></parameterdescription>
583 </parameteritem>
584 <parameteritem>
585 <parameternamelist>
586 <parametername>CoordinateType</parametername>
587 </parameternamelist>
588 <parameterdescription>
589 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
590 </parameteritem>
591 <parameteritem>
592 <parameternamelist>
593 <parametername>CoordinateSystem</parametername>
594 </parameternamelist>
595 <parameterdescription>
596 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
597 </parameteritem>
598 <parameteritem>
599 <parameternamelist>
600 <parametername>Field0</parametername>
601 </parameternamelist>
602 <parameterdescription>
603 <para>Member containing first (usually x) coordinate </para></parameterdescription>
604 </parameteritem>
605 <parameteritem>
606 <parameternamelist>
607 <parametername>Field1</parametername>
608 </parameternamelist>
609 <parameterdescription>
610 <para>Member containing second (usually y) coordinate </para></parameterdescription>
611 </parameteritem>
612 <parameteritem>
613 <parameternamelist>
614 <parametername>Field2</parametername>
615 </parameternamelist>
616 <parameterdescription>
617 <para>Member containing third (usually z) coordinate </para></parameterdescription>
618 </parameteritem>
619 </parameterlist>
620 </para>        </detaileddescription>
621         <inbodydescription>
622         </inbodydescription>
623         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="88" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="88" bodyend="-1"/>
624       </memberdef>
625       <memberdef kind="define" id="group__register_1ga86cf81c9036010faf69dfbd9b3c4d9a8" prot="public" static="no">
626         <name>BOOST_GEOMETRY_REGISTER_POINT_3D_CONST</name>
627         <param><defname>Point</defname></param>
628         <param><defname>CoordinateType</defname></param>
629         <param><defname>CoordinateSystem</defname></param>
630         <param><defname>Field0</defname></param>
631         <param><defname>Field1</defname></param>
632         <param><defname>Field2</defname></param>
633         <initializer>namespace boost { namespace geometry { namespace traits {  \
634     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
635     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 0, CoordinateType, Field0) \
636     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 1, CoordinateType, Field1) \
637     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_CONST(Point, 2, CoordinateType, Field2) \
638 }}}</initializer>
639         <briefdescription>
640 <para>Macro to register a 3D point type (const version) </para>        </briefdescription>
641         <detaileddescription>
642 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D_CONST registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The const version registers only read access to the fields, the point type is therefore read-only <parameterlist kind="param"><parameteritem>
643 <parameternamelist>
644 <parametername>Point</parametername>
645 </parameternamelist>
646 <parameterdescription>
647 <para>Point type to be registered </para></parameterdescription>
648 </parameteritem>
649 <parameteritem>
650 <parameternamelist>
651 <parametername>CoordinateType</parametername>
652 </parameternamelist>
653 <parameterdescription>
654 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
655 </parameteritem>
656 <parameteritem>
657 <parameternamelist>
658 <parametername>CoordinateSystem</parametername>
659 </parameternamelist>
660 <parameterdescription>
661 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
662 </parameteritem>
663 <parameteritem>
664 <parameternamelist>
665 <parametername>Field0</parametername>
666 </parameternamelist>
667 <parameterdescription>
668 <para>Member containing first (usually x) coordinate </para></parameterdescription>
669 </parameteritem>
670 <parameteritem>
671 <parameternamelist>
672 <parametername>Field1</parametername>
673 </parameternamelist>
674 <parameterdescription>
675 <para>Member containing second (usually y) coordinate </para></parameterdescription>
676 </parameteritem>
677 <parameteritem>
678 <parameternamelist>
679 <parametername>Field2</parametername>
680 </parameternamelist>
681 <parameterdescription>
682 <para>Member containing third (usually z) coordinate </para></parameterdescription>
683 </parameteritem>
684 </parameterlist>
685 </para>        </detaileddescription>
686         <inbodydescription>
687         </inbodydescription>
688         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="124" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="124" bodyend="-1"/>
689       </memberdef>
690       <memberdef kind="define" id="group__register_1ga6550bf4438d3b63ad83f5508900690cf" prot="public" static="no">
691         <name>BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET</name>
692         <param><defname>Point</defname></param>
693         <param><defname>CoordinateType</defname></param>
694         <param><defname>CoordinateSystem</defname></param>
695         <param><defname>Get0</defname></param>
696         <param><defname>Get1</defname></param>
697         <param><defname>Get2</defname></param>
698         <param><defname>Set0</defname></param>
699         <param><defname>Set1</defname></param>
700         <param><defname>Set2</defname></param>
701         <initializer>namespace boost { namespace geometry { namespace traits {  \
702     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 3, CoordinateType, CoordinateSystem) \
703     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 0, CoordinateType, Get0, Set0) \
704     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 1, CoordinateType, Get1, Set1) \
705     BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS_GET_SET(Point, 2, CoordinateType, Get2, Set2) \
706 }}}</initializer>
707         <briefdescription>
708 <para>Macro to register a 3D point type (having separate get/set methods) </para>        </briefdescription>
709         <detaileddescription>
710 <para>The macro BOOST_GEOMETRY_REGISTER_POINT_3D_GET_SET registers a three-dimensional point type such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type.. The get/set version registers get and set methods separately and can be used for classes with protected member variables and get/set methods to change coordinates <parameterlist kind="param"><parameteritem>
711 <parameternamelist>
712 <parametername>Point</parametername>
713 </parameternamelist>
714 <parameterdescription>
715 <para>Point type to be registered </para></parameterdescription>
716 </parameteritem>
717 <parameteritem>
718 <parameternamelist>
719 <parametername>CoordinateType</parametername>
720 </parameternamelist>
721 <parameterdescription>
722 <para>Type of the coordinates of the point (e.g. double) </para></parameterdescription>
723 </parameteritem>
724 <parameteritem>
725 <parameternamelist>
726 <parametername>CoordinateSystem</parametername>
727 </parameternamelist>
728 <parameterdescription>
729 <para>Coordinate system (e.g. cs::cartesian) </para></parameterdescription>
730 </parameteritem>
731 <parameteritem>
732 <parameternamelist>
733 <parametername>Get0</parametername>
734 </parameternamelist>
735 <parameterdescription>
736 <para>Method to get the first (usually x) coordinate </para></parameterdescription>
737 </parameteritem>
738 <parameteritem>
739 <parameternamelist>
740 <parametername>Get1</parametername>
741 </parameternamelist>
742 <parameterdescription>
743 <para>Method to get the second (usually y) coordinate </para></parameterdescription>
744 </parameteritem>
745 <parameteritem>
746 <parameternamelist>
747 <parametername>Get2</parametername>
748 </parameternamelist>
749 <parameterdescription>
750 <para>Method to get the third (usually z) coordinate </para></parameterdescription>
751 </parameteritem>
752 <parameteritem>
753 <parameternamelist>
754 <parametername>Set0</parametername>
755 </parameternamelist>
756 <parameterdescription>
757 <para>Method to set the first (usually x) coordinate </para></parameterdescription>
758 </parameteritem>
759 <parameteritem>
760 <parameternamelist>
761 <parametername>Set1</parametername>
762 </parameternamelist>
763 <parameterdescription>
764 <para>Method to set the second (usually y) coordinate </para></parameterdescription>
765 </parameteritem>
766 <parameteritem>
767 <parameternamelist>
768 <parametername>Set2</parametername>
769 </parameternamelist>
770 <parameterdescription>
771 <para>Method to set the third (usually z) coordinate </para></parameterdescription>
772 </parameteritem>
773 </parameterlist>
774 </para>        </detaileddescription>
775         <inbodydescription>
776         </inbodydescription>
777         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" line="165" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/point.hpp" bodystart="165" bodyend="-1"/>
778       </memberdef>
779       <memberdef kind="define" id="group__register_1ga742491bcf6ece3b0c9d21d5f6a991ac1" prot="public" static="no">
780         <name>BOOST_GEOMETRY_REGISTER_RING</name>
781         <param><defname>Ring</defname></param>
782         <initializer>namespace boost { namespace geometry { namespace traits {  \
783     template&lt;&gt; struct tag&lt;Ring&gt; { typedef ring_tag type; }; \
784 }}}</initializer>
785         <briefdescription>
786 <para>Macro to register a ring. </para>        </briefdescription>
787         <detaileddescription>
788 <para>The macro BOOST_GEOMETRY_REGISTER_RING registers a ring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The ring may contain template parameters, which must be specified then. <parameterlist kind="param"><parameteritem>
789 <parameternamelist>
790 <parametername>Ring</parametername>
791 </parameternamelist>
792 <parameterdescription>
793 <para>ring type to be registered</para></parameterdescription>
794 </parameteritem>
795 </parameterlist>
796  <qbk>
797 [heading Example]
798 [register_ring]
799 [register_ring_output]
800 </qbk>  </para>        </detaileddescription>
801         <inbodydescription>
802         </inbodydescription>
803         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" line="35" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" bodystart="35" bodyend="-1"/>
804       </memberdef>
805       <memberdef kind="define" id="group__register_1ga8a9071c3e9e9e0175250677a50e3fcc8" prot="public" static="no">
806         <name>BOOST_GEOMETRY_REGISTER_RING_TEMPLATED</name>
807         <param><defname>Ring</defname></param>
808         <initializer>namespace boost { namespace geometry { namespace traits {  \
809     template&lt;typename P&gt; struct tag&lt; Ring&lt;P&gt; &gt; { typedef ring_tag type; }; \
810 }}}</initializer>
811         <briefdescription>
812 <para>Macro to register a templated ring. </para>        </briefdescription>
813         <detaileddescription>
814 <para>The macro BOOST_GEOMETRY_REGISTER_RING_TEMPLATED registers a templated ring such that it is recognized by Boost.Geometry and that Boost.Geometry functionality can used with the specified type. The type must have one template parameter, which should be a point type, and should not be specified. Boost.Geometry takes care of inserting the template parameter. Hence all types of this templated ring are registered, regardless of their point type. <parameterlist kind="param"><parameteritem>
815 <parameternamelist>
816 <parametername>Ring</parametername>
817 </parameternamelist>
818 <parameterdescription>
819 <para>ring (without template parameters) type to be registered</para></parameterdescription>
820 </parameteritem>
821 </parameterlist>
822  <qbk>
823 [heading Example]
824 [register_ring_templated]
825 [register_ring_templated_output]
826 </qbk>  </para>        </detaileddescription>
827         <inbodydescription>
828         </inbodydescription>
829         <location file="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" line="54" column="9" bodyfile="/home/ubuntu/boost/boost/geometry/geometries/register/ring.hpp" bodystart="54" bodyend="-1"/>
830       </memberdef>
831       </sectiondef>
832     <briefdescription>
833     </briefdescription>
834     <detaileddescription>
835     </detaileddescription>
836   </compounddef>
837 </doxygen>