1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>BOOST_GEOMETRY_REGISTER_LINESTRING</title> 5<link rel="stylesheet" href="../../../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../../index.html" title="Chapter 1. Geometry"> 8<link rel="up" href="../register.html" title="Macro's for adaption"> 9<link rel="prev" href="boost_geometry_register_box_templated.html" title="BOOST_GEOMETRY_REGISTER_BOX_TEMPLATED"> 10<link rel="next" href="boost_geometry_register_linestring_templated.html" title="BOOST_GEOMETRY_REGISTER_LINESTRING_TEMPLATED"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="boost_geometry_register_box_templated.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../register.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_geometry_register_linestring_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h5 class="title"> 27<a name="geometry.reference.adapted.register.boost_geometry_register_linestring"></a><a class="link" href="boost_geometry_register_linestring.html" title="BOOST_GEOMETRY_REGISTER_LINESTRING">BOOST_GEOMETRY_REGISTER_LINESTRING</a> 28</h5></div></div></div> 29<p> 30 <a class="indexterm" name="idm45635709710544"></a> 31Macro to register a linestring. 32 </p> 33<h6> 34<a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h0"></a> 35 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.description"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.description">Description</a> 36 </h6> 37<p> 38 The macro BOOST_GEOMETRY_REGISTER_LINESTRING registers a linestring such 39 that it is recognized by Boost.Geometry and that Boost.Geometry functionality 40 can used with the specified type. The linestring may contain template 41 parameters, which must be specified then. 42 </p> 43<h6> 44<a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h1"></a> 45 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.synopsis"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.synopsis">Synopsis</a> 46 </h6> 47<p> 48</p> 49<pre class="programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_GEOMETRY_REGISTER_LINESTRING</span><span class="special">(</span><span class="identifier">Linestring</span><span class="special">)</span></pre> 50<p> 51 </p> 52<h6> 53<a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h2"></a> 54 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.parameters"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.parameters">Parameters</a> 55 </h6> 56<div class="informaltable"><table class="table"> 57<colgroup> 58<col> 59<col> 60</colgroup> 61<thead><tr> 62<th> 63 <p> 64 Name 65 </p> 66 </th> 67<th> 68 <p> 69 Description 70 </p> 71 </th> 72</tr></thead> 73<tbody><tr> 74<td> 75 <p> 76 Linestring 77 </p> 78 </td> 79<td> 80 <p> 81 linestring type to be registered 82 </p> 83 </td> 84</tr></tbody> 85</table></div> 86<h6> 87<a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h3"></a> 88 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.header"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.header">Header</a> 89 </h6> 90<p> 91 <code class="computeroutput"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="keyword">register</span><span class="special">/</span><span class="identifier">linestring</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> 92 </p> 93<h6> 94<a name="geometry.reference.adapted.register.boost_geometry_register_linestring.h4"></a> 95 <span class="phrase"><a name="geometry.reference.adapted.register.boost_geometry_register_linestring.example"></a></span><a class="link" href="boost_geometry_register_linestring.html#geometry.reference.adapted.register.boost_geometry_register_linestring.example">Example</a> 96 </h6> 97<p> 98 Show the use of BOOST_GEOMETRY_REGISTER_LINESTRING 99 </p> 100<p> 101</p> 102<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span> 103 104<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 105<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="identifier">point_xy</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 106<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">geometry</span><span class="special">/</span><span class="identifier">geometries</span><span class="special">/</span><span class="keyword">register</span><span class="special">/</span><span class="identifier">linestring</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 107 108<span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">model</span><span class="special">::</span><span class="identifier">d2</span><span class="special">::</span><span class="identifier">point_xy</span><span class="special"><</span><span class="keyword">double</span><span class="special">></span> <span class="identifier">point_2d</span><span class="special">;</span> 109 110<span class="identifier">BOOST_GEOMETRY_REGISTER_LINESTRING</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">point_2d</span><span class="special">>)</span> 111 112<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> 113<span class="special">{</span> 114 <span class="comment">// Normal usage of std::</span> 115 <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">point_2d</span><span class="special">></span> <span class="identifier">line</span><span class="special">;</span> 116 <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">1</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span> 117 <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">2</span><span class="special">,</span> <span class="number">2</span><span class="special">));</span> 118 <span class="identifier">line</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">point_2d</span><span class="special">(</span><span class="number">3</span><span class="special">,</span> <span class="number">1</span><span class="special">));</span> 119 120 <span class="comment">// Usage of Boost.Geometry's length and wkt functions</span> 121 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"Length: "</span> 122 <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">length</span><span class="special">(</span><span class="identifier">line</span><span class="special">)</span> 123 <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> 124 125 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special"><<</span> <span class="string">"WKT: "</span> 126 <span class="special"><<</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">wkt</span><span class="special">(</span><span class="identifier">line</span><span class="special">)</span> 127 <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> 128 129 <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span> 130<span class="special">}</span> 131</pre> 132<p> 133 </p> 134<p> 135 Output: 136 </p> 137<pre class="programlisting">Length: 2.82843 138WKT: LINESTRING(1 1,2 2,3 1) 139</pre> 140</div> 141<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 142<td align="left"></td> 143<td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam 144 Wulkiewicz, Oracle and/or its affiliates<p> 145 Distributed under the Boost Software License, Version 1.0. (See accompanying 146 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 147 </p> 148</div></td> 149</tr></table> 150<hr> 151<div class="spirit-nav"> 152<a accesskey="p" href="boost_geometry_register_box_templated.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../register.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="boost_geometry_register_linestring_templated.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 153</div> 154</body> 155</html> 156