1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>equals (with strategy)</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="../equals.html" title="equals"> 9<link rel="prev" href="../equals.html" title="equals"> 10<link rel="next" href="equals_2.html" title="equals"> 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="../equals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../equals.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="equals_2.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.algorithms.equals.equals_3_with_strategy"></a><a class="link" href="equals_3_with_strategy.html" title="equals (with strategy)">equals 28 (with strategy)</a> 29</h5></div></div></div> 30<p> 31 <a class="indexterm" name="idm45635697798160"></a> 32Checks if a geometry are spatially equal. 33 </p> 34<h6> 35<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h0"></a> 36 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.description"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.description">Description</a> 37 </h6> 38<p> 39 The free function equals checks if the first geometry is spatially equal 40 the second geometry. Spatially equal means that the same point set is 41 included. A box can therefore be spatially equal to a ring or a polygon, 42 or a linestring can be spatially equal to a multi-linestring or a segment. 43 This only works theoretically, not all combinations are implemented yet. 44 </p> 45<h6> 46<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h1"></a> 47 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.synopsis"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.synopsis">Synopsis</a> 48 </h6> 49<p> 50</p> 51<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Geometry1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Geometry2</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Strategy</span><span class="special">></span> 52<span class="keyword">bool</span> <span class="identifier">equals</span><span class="special">(</span><span class="identifier">Geometry1</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">geometry1</span><span class="special">,</span> <span class="identifier">Geometry2</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">geometry2</span><span class="special">,</span> <span class="identifier">Strategy</span> <span class="keyword">const</span> <span class="special">&</span> <span class="identifier">strategy</span><span class="special">)</span></pre> 53<p> 54 </p> 55<h6> 56<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h2"></a> 57 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.parameters"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.parameters">Parameters</a> 58 </h6> 59<div class="informaltable"><table class="table"> 60<colgroup> 61<col> 62<col> 63<col> 64<col> 65</colgroup> 66<thead><tr> 67<th> 68 <p> 69 Type 70 </p> 71 </th> 72<th> 73 <p> 74 Concept 75 </p> 76 </th> 77<th> 78 <p> 79 Name 80 </p> 81 </th> 82<th> 83 <p> 84 Description 85 </p> 86 </th> 87</tr></thead> 88<tbody> 89<tr> 90<td> 91 <p> 92 Geometry1 const & 93 </p> 94 </td> 95<td> 96 <p> 97 Any type fulfilling a Geometry Concept 98 </p> 99 </td> 100<td> 101 <p> 102 geometry1 103 </p> 104 </td> 105<td> 106 <p> 107 A model of the specified concept 108 </p> 109 </td> 110</tr> 111<tr> 112<td> 113 <p> 114 Geometry2 const & 115 </p> 116 </td> 117<td> 118 <p> 119 Any type fulfilling a Geometry Concept 120 </p> 121 </td> 122<td> 123 <p> 124 geometry2 125 </p> 126 </td> 127<td> 128 <p> 129 A model of the specified concept 130 </p> 131 </td> 132</tr> 133<tr> 134<td> 135 <p> 136 Strategy const & 137 </p> 138 </td> 139<td> 140 <p> 141 Any type fulfilling a Equals Strategy Concept 142 </p> 143 </td> 144<td> 145 <p> 146 strategy 147 </p> 148 </td> 149<td> 150 <p> 151 The strategy which will be used for equals calculations 152 </p> 153 </td> 154</tr> 155</tbody> 156</table></div> 157<h6> 158<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h3"></a> 159 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.returns"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.returns">Returns</a> 160 </h6> 161<p> 162 Returns true if two geometries are spatially equal 163 </p> 164<h6> 165<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h4"></a> 166 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.header"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.header">Header</a> 167 </h6> 168<p> 169 Either 170 </p> 171<p> 172 <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">hpp</span><span class="special">></span></code> 173 </p> 174<p> 175 Or 176 </p> 177<p> 178 <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">algorithms</span><span class="special">/</span><span class="identifier">equals</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code> 179 </p> 180<h6> 181<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h5"></a> 182 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.conformance"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.conformance">Conformance</a> 183 </h6> 184<p> 185 The function equals implements function Equals from the <a href="http://www.opengeospatial.org/standards/sfa" target="_top">OGC 186 Simple Feature Specification</a>. 187 </p> 188<h6> 189<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h6"></a> 190 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.supported_geometries"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.supported_geometries">Supported 191 geometries</a> 192 </h6> 193<div class="informaltable"><table class="table"> 194<colgroup> 195<col> 196<col> 197<col> 198<col> 199<col> 200<col> 201<col> 202<col> 203<col> 204<col> 205<col> 206</colgroup> 207<thead><tr> 208<th> 209 </th> 210<th> 211 <p> 212 Point 213 </p> 214 </th> 215<th> 216 <p> 217 Segment 218 </p> 219 </th> 220<th> 221 <p> 222 Box 223 </p> 224 </th> 225<th> 226 <p> 227 Linestring 228 </p> 229 </th> 230<th> 231 <p> 232 Ring 233 </p> 234 </th> 235<th> 236 <p> 237 Polygon 238 </p> 239 </th> 240<th> 241 <p> 242 MultiPoint 243 </p> 244 </th> 245<th> 246 <p> 247 MultiLinestring 248 </p> 249 </th> 250<th> 251 <p> 252 MultiPolygon 253 </p> 254 </th> 255<th> 256 <p> 257 Variant 258 </p> 259 </th> 260</tr></thead> 261<tbody> 262<tr> 263<td> 264 <p> 265 Point 266 </p> 267 </td> 268<td> 269 <p> 270 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 271 </p> 272 </td> 273<td> 274 <p> 275 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 276 </p> 277 </td> 278<td> 279 <p> 280 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 281 </p> 282 </td> 283<td> 284 <p> 285 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 286 </p> 287 </td> 288<td> 289 <p> 290 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 291 </p> 292 </td> 293<td> 294 <p> 295 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 296 </p> 297 </td> 298<td> 299 <p> 300 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 301 </p> 302 </td> 303<td> 304 <p> 305 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 306 </p> 307 </td> 308<td> 309 <p> 310 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 311 </p> 312 </td> 313<td> 314 <p> 315 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 316 </p> 317 </td> 318</tr> 319<tr> 320<td> 321 <p> 322 Segment 323 </p> 324 </td> 325<td> 326 <p> 327 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 328 </p> 329 </td> 330<td> 331 <p> 332 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 333 </p> 334 </td> 335<td> 336 <p> 337 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 338 </p> 339 </td> 340<td> 341 <p> 342 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 343 </p> 344 </td> 345<td> 346 <p> 347 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 348 </p> 349 </td> 350<td> 351 <p> 352 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 353 </p> 354 </td> 355<td> 356 <p> 357 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 358 </p> 359 </td> 360<td> 361 <p> 362 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 363 </p> 364 </td> 365<td> 366 <p> 367 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 368 </p> 369 </td> 370<td> 371 <p> 372 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 373 </p> 374 </td> 375</tr> 376<tr> 377<td> 378 <p> 379 Box 380 </p> 381 </td> 382<td> 383 <p> 384 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 385 </p> 386 </td> 387<td> 388 <p> 389 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 390 </p> 391 </td> 392<td> 393 <p> 394 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 395 </p> 396 </td> 397<td> 398 <p> 399 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 400 </p> 401 </td> 402<td> 403 <p> 404 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 405 </p> 406 </td> 407<td> 408 <p> 409 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 410 </p> 411 </td> 412<td> 413 <p> 414 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 415 </p> 416 </td> 417<td> 418 <p> 419 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 420 </p> 421 </td> 422<td> 423 <p> 424 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 425 </p> 426 </td> 427<td> 428 <p> 429 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 430 </p> 431 </td> 432</tr> 433<tr> 434<td> 435 <p> 436 Linestring 437 </p> 438 </td> 439<td> 440 <p> 441 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 442 </p> 443 </td> 444<td> 445 <p> 446 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 447 </p> 448 </td> 449<td> 450 <p> 451 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 452 </p> 453 </td> 454<td> 455 <p> 456 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 457 </p> 458 </td> 459<td> 460 <p> 461 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 462 </p> 463 </td> 464<td> 465 <p> 466 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 467 </p> 468 </td> 469<td> 470 <p> 471 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 472 </p> 473 </td> 474<td> 475 <p> 476 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 477 </p> 478 </td> 479<td> 480 <p> 481 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 482 </p> 483 </td> 484<td> 485 <p> 486 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 487 </p> 488 </td> 489</tr> 490<tr> 491<td> 492 <p> 493 Ring 494 </p> 495 </td> 496<td> 497 <p> 498 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 499 </p> 500 </td> 501<td> 502 <p> 503 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 504 </p> 505 </td> 506<td> 507 <p> 508 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 509 </p> 510 </td> 511<td> 512 <p> 513 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 514 </p> 515 </td> 516<td> 517 <p> 518 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 519 </p> 520 </td> 521<td> 522 <p> 523 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 524 </p> 525 </td> 526<td> 527 <p> 528 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 529 </p> 530 </td> 531<td> 532 <p> 533 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 534 </p> 535 </td> 536<td> 537 <p> 538 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 539 </p> 540 </td> 541<td> 542 <p> 543 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 544 </p> 545 </td> 546</tr> 547<tr> 548<td> 549 <p> 550 Polygon 551 </p> 552 </td> 553<td> 554 <p> 555 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 556 </p> 557 </td> 558<td> 559 <p> 560 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 561 </p> 562 </td> 563<td> 564 <p> 565 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 566 </p> 567 </td> 568<td> 569 <p> 570 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 571 </p> 572 </td> 573<td> 574 <p> 575 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 576 </p> 577 </td> 578<td> 579 <p> 580 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 581 </p> 582 </td> 583<td> 584 <p> 585 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 586 </p> 587 </td> 588<td> 589 <p> 590 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 591 </p> 592 </td> 593<td> 594 <p> 595 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 596 </p> 597 </td> 598<td> 599 <p> 600 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 601 </p> 602 </td> 603</tr> 604<tr> 605<td> 606 <p> 607 MultiPoint 608 </p> 609 </td> 610<td> 611 <p> 612 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 613 </p> 614 </td> 615<td> 616 <p> 617 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 618 </p> 619 </td> 620<td> 621 <p> 622 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 623 </p> 624 </td> 625<td> 626 <p> 627 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 628 </p> 629 </td> 630<td> 631 <p> 632 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 633 </p> 634 </td> 635<td> 636 <p> 637 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 638 </p> 639 </td> 640<td> 641 <p> 642 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 643 </p> 644 </td> 645<td> 646 <p> 647 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 648 </p> 649 </td> 650<td> 651 <p> 652 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 653 </p> 654 </td> 655<td> 656 <p> 657 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 658 </p> 659 </td> 660</tr> 661<tr> 662<td> 663 <p> 664 MultiLinestring 665 </p> 666 </td> 667<td> 668 <p> 669 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 670 </p> 671 </td> 672<td> 673 <p> 674 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 675 </p> 676 </td> 677<td> 678 <p> 679 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 680 </p> 681 </td> 682<td> 683 <p> 684 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 685 </p> 686 </td> 687<td> 688 <p> 689 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 690 </p> 691 </td> 692<td> 693 <p> 694 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 695 </p> 696 </td> 697<td> 698 <p> 699 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 700 </p> 701 </td> 702<td> 703 <p> 704 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 705 </p> 706 </td> 707<td> 708 <p> 709 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 710 </p> 711 </td> 712<td> 713 <p> 714 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 715 </p> 716 </td> 717</tr> 718<tr> 719<td> 720 <p> 721 MultiPolygon 722 </p> 723 </td> 724<td> 725 <p> 726 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 727 </p> 728 </td> 729<td> 730 <p> 731 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 732 </p> 733 </td> 734<td> 735 <p> 736 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 737 </p> 738 </td> 739<td> 740 <p> 741 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 742 </p> 743 </td> 744<td> 745 <p> 746 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 747 </p> 748 </td> 749<td> 750 <p> 751 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 752 </p> 753 </td> 754<td> 755 <p> 756 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 757 </p> 758 </td> 759<td> 760 <p> 761 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 762 </p> 763 </td> 764<td> 765 <p> 766 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 767 </p> 768 </td> 769<td> 770 <p> 771 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 772 </p> 773 </td> 774</tr> 775<tr> 776<td> 777 <p> 778 Variant 779 </p> 780 </td> 781<td> 782 <p> 783 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 784 </p> 785 </td> 786<td> 787 <p> 788 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 789 </p> 790 </td> 791<td> 792 <p> 793 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 794 </p> 795 </td> 796<td> 797 <p> 798 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 799 </p> 800 </td> 801<td> 802 <p> 803 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 804 </p> 805 </td> 806<td> 807 <p> 808 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 809 </p> 810 </td> 811<td> 812 <p> 813 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 814 </p> 815 </td> 816<td> 817 <p> 818 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 819 </p> 820 </td> 821<td> 822 <p> 823 <span class="inlinemediaobject"><img src="../../../../img/nyi.png" alt="nyi"></span> 824 </p> 825 </td> 826<td> 827 <p> 828 <span class="inlinemediaobject"><img src="../../../../img/ok.png" alt="ok"></span> 829 </p> 830 </td> 831</tr> 832</tbody> 833</table></div> 834<h6> 835<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h7"></a> 836 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.complexity"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.complexity">Complexity</a> 837 </h6> 838<p> 839 Linear 840 </p> 841<h6> 842<a name="geometry.reference.algorithms.equals.equals_3_with_strategy.h8"></a> 843 <span class="phrase"><a name="geometry.reference.algorithms.equals.equals_3_with_strategy.example"></a></span><a class="link" href="equals_3_with_strategy.html#geometry.reference.algorithms.equals.equals_3_with_strategy.example">Example</a> 844 </h6> 845<p> 846 Shows the predicate equals, which returns true if two geometries are 847 spatially equal 848 </p> 849<p> 850</p> 851<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">iostream</span><span class="special">></span> 852 853<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> 854<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">polygon</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 855<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">adapted</span><span class="special">/</span><span class="identifier">boost_tuple</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 856 857<span class="identifier">BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS</span><span class="special">(</span><span class="identifier">cs</span><span class="special">::</span><span class="identifier">cartesian</span><span class="special">)</span> 858 859<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> 860 861<span class="keyword">int</span> <span class="identifier">main</span><span class="special">()</span> 862<span class="special">{</span> 863 <span class="keyword">using</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">assign</span><span class="special">::</span><span class="identifier">tuple_list_of</span><span class="special">;</span> 864 865 <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span><span class="special"><</span><span class="keyword">int</span><span class="special">,</span> <span class="keyword">int</span><span class="special">></span> <span class="identifier">point</span><span class="special">;</span> 866 867 <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">polygon</span><span class="special"><</span><span class="identifier">point</span><span class="special">></span> <span class="identifier">poly1</span><span class="special">,</span> <span class="identifier">poly2</span><span class="special">;</span> 868 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">exterior_ring</span><span class="special">(</span><span class="identifier">poly1</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">tuple_list_of</span><span class="special">(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">5</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">5</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span> 869 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">exterior_ring</span><span class="special">(</span><span class="identifier">poly2</span><span class="special">)</span> <span class="special">=</span> <span class="identifier">tuple_list_of</span><span class="special">(</span><span class="number">5</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">)(</span><span class="number">0</span><span class="special">,</span> <span class="number">5</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">5</span><span class="special">)(</span><span class="number">5</span><span class="special">,</span> <span class="number">0</span><span class="special">);</span> 870 871 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> 872 <span class="special"><<</span> <span class="string">"polygons are spatially "</span> 873 <span class="special"><<</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">equals</span><span class="special">(</span><span class="identifier">poly1</span><span class="special">,</span> <span class="identifier">poly2</span><span class="special">)</span> <span class="special">?</span> <span class="string">"equal"</span> <span class="special">:</span> <span class="string">"not equal"</span><span class="special">)</span> 874 <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> 875 876 <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">box</span><span class="special"><</span><span class="identifier">point</span><span class="special">></span> <span class="identifier">box</span><span class="special">;</span> 877 <span class="identifier">boost</span><span class="special">::</span><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">assign_values</span><span class="special">(</span><span class="identifier">box</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">0</span><span class="special">,</span> <span class="number">5</span><span class="special">,</span> <span class="number">5</span><span class="special">);</span> 878 879 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> 880 <span class="special"><<</span> <span class="string">"polygon and box are spatially "</span> 881 <span class="special"><<</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">equals</span><span class="special">(</span><span class="identifier">box</span><span class="special">,</span> <span class="identifier">poly2</span><span class="special">)</span> <span class="special">?</span> <span class="string">"equal"</span> <span class="special">:</span> <span class="string">"not equal"</span><span class="special">)</span> 882 <span class="special"><<</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> 883 884 885 <span class="keyword">return</span> <span class="number">0</span><span class="special">;</span> 886<span class="special">}</span> 887</pre> 888<p> 889 </p> 890<p> 891 Output: 892 </p> 893<pre class="programlisting">polygons are spatially equal 894polygon and box are spatially equal 895</pre> 896</div> 897<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 898<td align="left"></td> 899<td align="right"><div class="copyright-footer">Copyright © 2009-2019 Barend Gehrels, Bruno Lalande, Mateusz Loskot, Adam 900 Wulkiewicz, Oracle and/or its affiliates<p> 901 Distributed under the Boost Software License, Version 1.0. (See accompanying 902 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>) 903 </p> 904</div></td> 905</tr></table> 906<hr> 907<div class="spirit-nav"> 908<a accesskey="p" href="../equals.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../equals.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="equals_2.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a> 909</div> 910</body> 911</html> 912