 |
MySQL
8.0.23
Source Code Documentation
|
Go to the documentation of this file. 1 #ifndef SQL_GIS_GEOMETRIES_CS_H_INCLUDED
2 #define SQL_GIS_GEOMETRIES_CS_H_INCLUDED
72 std::vector<Cartesian_point, Malloc_allocator<Cartesian_point>>
m_points;
89 bool empty()
const override;
118 std::vector<Geographic_point, Malloc_allocator<Geographic_point>>
m_points;
135 bool empty()
const override;
216 std::vector<Cartesian_linearring, Malloc_allocator<Cartesian_linearring>>
229 bool empty()
const override;
245 std::size_t
size()
const override;
265 std::vector<Geographic_linearring, Malloc_allocator<Geographic_linearring>>
278 bool empty()
const override;
294 std::size_t
size()
const override;
337 if (!g->is_empty())
return false;
343 bool empty()
const override;
390 if (!g->is_empty())
return false;
396 bool empty()
const override;
417 std::vector<Cartesian_point, Malloc_allocator<Cartesian_point>>
m_points;
434 if (!pt.is_empty())
return false;
440 bool empty()
const override;
461 std::vector<Geographic_point, Malloc_allocator<Geographic_point>>
m_points;
477 if (!pt.is_empty())
return false;
483 bool empty()
const override;
504 std::vector<Cartesian_linestring, Malloc_allocator<Cartesian_linestring>>
522 if (!ls.is_empty())
return false;
528 bool empty()
const override;
554 std::vector<Geographic_linestring, Malloc_allocator<Geographic_linestring>>
572 if (!ls.is_empty())
return false;
578 bool empty()
const override;
604 std::vector<Cartesian_polygon, Malloc_allocator<Cartesian_polygon>>
622 if (!py.is_empty())
return false;
628 bool empty()
const override;
651 std::vector<Geographic_polygon, Malloc_allocator<Geographic_polygon>>
669 if (!py.is_empty())
return false;
675 bool empty()
const override;
696 #endif // SQL_GIS_GEOMETRIES_CS_H_INCLUDED
decltype(m_linestrings) typedef ::iterator iterator
Definition: geometries_cs.h:509
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:366
const_iterator begin() const noexcept
Definition: geometries_cs.h:98
A geographic (ellipsoidal) 2d point.
Definition: geometries_cs.h:56
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:127
void resize(std::size_t count)
Definition: geometries_cs.h:91
const_iterator begin() const noexcept
Definition: geometries_cs.h:489
Cartesian_geometrycollection()
Definition: geometries_cs.h:317
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:345
std::size_t size() const override
Returns the size of the polygon.
Definition: geometries.cc:216
iterator begin() noexcept
Definition: geometries_cs.h:488
const Geographic_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:495
decltype(m_points) typedef ::value_type value_type
Definition: geometries_cs.h:464
const Cartesian_point & back() const
Definition: geometries_cs.h:95
A geographic (ellipsoidal) 2d multilinestring.
Definition: geometries_cs.h:551
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:566
std::size_t size() const override
Returns the size of (number of points in) the linestring.
Definition: geometries_cs.h:136
const Cartesian_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:452
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:667
Geographic_point()=default
std::vector< Geometry *, Malloc_allocator< Geometry * > > m_geometries
List of geometries in the collection.
Definition: geometries_cs.h:364
Cartesian_point()=default
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:531
const_iterator begin() const noexcept
Definition: geometries_cs.h:681
decltype(m_geometries) typedef ::iterator iterator
Definition: geometries_cs.h:314
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:627
A colletion of linestrings.
Definition: geometries.h:421
decltype(m_points) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:466
A ring-shaped linestring.
Definition: geometries.h:287
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:620
const_iterator begin() const noexcept
Definition: geometries_cs.h:537
decltype(m_interior_rings) const & const_interior_rings() const
Get list of interior rings.
iterator begin() noexcept
Definition: geometries_cs.h:401
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:85
A geographic (ellipsoidal) 2d multipoint.
Definition: geometries_cs.h:458
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:344
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:159
const_iterator begin() const noexcept
Definition: geometries_cs.h:402
iterator begin() noexcept
Definition: geometries_cs.h:445
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:285
Cartesian_point & operator[](std::size_t i) override
Definition: geometries_cs.h:103
iterator end() noexcept
Definition: geometries_cs.h:589
const_iterator end() const noexcept
Definition: geometries_cs.h:101
iterator end() noexcept
Definition: geometries_cs.h:351
void push_back(const gis::Point &pt) override
Adds a point to the end of the linestring.
Definition: geometries_cs.h:164
decltype(m_points) typedef ::value_type value_type
Definition: geometries_cs.h:420
decltype(m_polygons) typedef ::value_type value_type
Definition: geometries_cs.h:655
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:550
Cartesian_point & operator[](std::size_t i) override
Definition: geometries_cs.h:451
const_iterator begin() const noexcept
Definition: geometries_cs.h:349
Geographic_linestring & back()
Definition: geometries_cs.h:583
const_iterator end() const noexcept
Definition: geometries_cs.h:684
Cartesian_point & operator[](std::size_t i) override
Definition: geometries_cs.h:174
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:384
Geographic_point & operator[](std::size_t i) override
Definition: geometries_cs.h:494
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:50
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:331
Cartesian_geometrycollection(Cartesian_geometrycollection &&gc) noexcept
Definition: geometries_cs.h:321
Geometry_type
Types of geometry objects.
Definition: geometries.h:52
decltype(m_points) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:77
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:560
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:355
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:167
iterator begin() noexcept
Definition: geometries_cs.h:586
Cartesian_linearring & cartesian_exterior_ring() const
Get the exterior ring.
Definition: geometries.cc:177
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:399
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:442
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:530
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:529
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:410
Cartesian_point & back()
Definition: geometries_cs.h:94
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:517
Geographic_point(double x, double y)
Definition: geometries_cs.h:59
decltype(m_linestrings) typedef ::value_type value_type
Definition: geometries_cs.h:508
A Cartesian 2d multipolygon.
Definition: geometries_cs.h:601
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:607
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:580
A Cartesian 2d geometry collection.
Definition: geometries_cs.h:308
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:475
~Geographic_geometrycollection() override
Definition: geometries_cs.h:379
std::vector< Cartesian_linestring, Malloc_allocator< Cartesian_linestring > > m_linestrings
List of linestrings in the collection.
Definition: geometries_cs.h:505
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:537
A geographic (ellipsoidal) 2d multipolygon.
Definition: geometries_cs.h:648
double y() const
Gets the second coordinate value.
Definition: geometries.cc:47
decltype(m_geometries) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:315
const Cartesian_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:104
iterator end() noexcept
Definition: geometries_cs.h:491
std::size_t size() const override
Returns the size of (number of points in) the linestring.
Definition: geometries_cs.h:90
const Cartesian_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:177
A Cartesian 2d polygon.
Definition: geometries_cs.h:210
void resize(std::size_t count)
Definition: geometries_cs.h:137
void push_back(gis::Point &&pt) override
Definition: geometries_cs.h:167
double x() const
Gets the first coordinate value.
Definition: geometries.cc:45
decltype(m_points) typedef ::iterator iterator
Definition: geometries_cs.h:122
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:516
Geographic_multilinestring()
Definition: geometries_cs.h:562
Cartesian_linearring m_exterior_ring
Exterior ring.
Definition: geometries_cs.h:213
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:388
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:545
iterator end() noexcept
Definition: geometries_cs.h:100
Geographic_geometrycollection(Geographic_geometrycollection &&gc) noexcept
Definition: geometries_cs.h:374
Geographic_point & back()
Definition: geometries_cs.h:140
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:573
decltype(m_interior_rings) const & const_interior_rings() const
Get list of interior rings.
std::size_t size() const override
Returns the size of (number of points in) the linestring.
Definition: geometries_cs.h:198
Abstract superclass for all geometric objects.
Definition: geometries.h:99
const_iterator end() const noexcept
Definition: geometries_cs.h:492
Cartesian_multipoint()
Definition: geometries_cs.h:424
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:63
iterator end() noexcept
Definition: geometries_cs.h:146
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:443
int n
Definition: xcom_base.cc:445
A string of connected line segments.
Definition: geometries.h:247
decltype(m_points) typedef ::iterator iterator
Definition: geometries_cs.h:421
Geographic_linestring()
Definition: geometries_cs.h:125
const Geographic_linestring & back() const
Definition: geometries_cs.h:584
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:186
Cartesian_multipolygon()
Definition: geometries_cs.h:612
iterator end() noexcept
Definition: geometries_cs.h:636
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:605
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:581
Geographic_multipoint()
Definition: geometries_cs.h:468
Coordinate_system
Types of coordinate systems.
Definition: geometries.h:68
A collection of polygons.
Definition: geometries.h:441
void clear() noexcept override
Removes all points from the linestring.
Definition: geometries_cs.h:138
@ kCartesian
A Cartesian plane with the same unit in both directions.
decltype(m_interior_rings) & interior_rings()
Get list of interior rings.
decltype(m_linestrings) typedef ::iterator iterator
Definition: geometries_cs.h:559
const_iterator begin() const noexcept
Definition: geometries_cs.h:634
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:346
A geographic (ellipsoidal) 2d linestring.
Definition: geometries_cs.h:112
decltype(m_geometries) typedef ::iterator iterator
Definition: geometries_cs.h:367
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:428
Geographic_point & operator[](std::size_t i) override
Definition: geometries_cs.h:201
decltype(m_polygons) typedef ::iterator iterator
Definition: geometries_cs.h:656
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:616
const_iterator end() const noexcept
Definition: geometries_cs.h:590
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:527
void clear() noexcept override
Removes all points from the linestring.
Definition: geometries_cs.h:92
Geometry_type type() const override
Gets the geometry type of the object.
Definition: geometries_cs.h:158
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:60
bool empty() const override
Checks if the polygon is empty.
Definition: geometries.cc:153
Linearring & interior_ring(std::size_t n) override
Returns an interior ring of the polygon.
Definition: geometries.cc:163
iterator begin() noexcept
Definition: geometries_cs.h:680
void push_back(const gis::Point &pt) override
Adds a point to the end of the linestring.
Definition: geometries_cs.h:191
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:585
bool empty() const override
Checks if the linestring is empty.
Definition: geometries_cs.h:197
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:486
Geometry_type type() const override
Gets the geometry type of the object.
Definition: geometries.h:249
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:631
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:408
const_iterator end() const noexcept
Definition: geometries_cs.h:147
const Cartesian_linestring & back() const
Definition: geometries_cs.h:534
A Cartesian 2d multilinestring.
Definition: geometries_cs.h:501
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:505
Geometry_type type() const override
Gets the geometry type of the object.
Definition: geometries_cs.h:185
Linearring & interior_ring(std::size_t n) override
Returns an interior ring of the polygon.
Definition: geometries.cc:226
Abstract visitor class to be used on class Geometry and descendants.
Definition: geometry_visitor.h:45
Cartesian_multilinestring()
Definition: geometries_cs.h:512
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:617
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:642
decltype(m_geometries) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:368
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:397
decltype(m_linestrings) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:560
void push_back(const Linearring &lr) override
Adds a linear ring to the polygon.
Definition: geometries.cc:137
Geographic_multipolygon()
Definition: geometries_cs.h:659
A geographic (ellipsoidal) 2d linear ring.
Definition: geometries_cs.h:183
std::vector< Geographic_point, Malloc_allocator< Geographic_point > > m_points
String of points constituting the linestring.
Definition: geometries_cs.h:118
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:495
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:335
iterator end() noexcept
Definition: geometries_cs.h:448
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:421
std::vector< Cartesian_point, Malloc_allocator< Cartesian_point > > m_points
List of points in the collection.
Definition: geometries_cs.h:417
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:432
Geographic_linearring m_exterior_ring
Exterior ring.
Definition: geometries_cs.h:262
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:107
~Cartesian_geometrycollection() override
Definition: geometries_cs.h:326
A geographic (ellipsoidal) 2d geometry collection.
Definition: geometries_cs.h:361
const_iterator end() const noexcept
Definition: geometries_cs.h:405
A collection of geometries.
Definition: geometries.h:360
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:83
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:595
decltype(m_polygons) typedef ::iterator iterator
Definition: geometries_cs.h:609
const_iterator begin() const noexcept
Definition: geometries_cs.h:587
Malloc_allocator is a C++ STL memory allocator based on my_malloc/my_free.
Definition: malloc_allocator.h:62
std::size_t size() const override
Returns the size of the polygon.
Definition: geometries.cc:157
decltype(m_points) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:123
Geographic_point & operator[](std::size_t i) override
Definition: geometries_cs.h:149
A Cartesian 2d linear ring.
Definition: geometries_cs.h:156
Geometry & operator[](std::size_t i) override
Definition: geometries_cs.h:407
iterator begin() noexcept
Definition: geometries_cs.h:348
bool empty() const override
Checks if the polygon is empty.
Definition: geometries.cc:212
Cartesian_linestring()
Definition: geometries_cs.h:79
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:629
void clear() noexcept override
Removes all points from the linestring.
Definition: geometries_cs.h:199
iterator end() noexcept
Definition: geometries_cs.h:539
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:562
void push_back(gis::Point &&pt) override
Definition: geometries_cs.h:194
A 2d point.
Definition: geometries.h:145
A collection of points.
Definition: geometries.h:402
void push_back(const Point &pt) override
Adds a point to the end of the linestring.
Definition: geometries.cc:95
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:296
decltype(m_points) typedef ::value_type value_type
Definition: geometries_cs.h:121
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:117
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:630
std::vector< Geometry *, Malloc_allocator< Geometry * > > m_geometries
List of geometries in the collection.
Definition: geometries_cs.h:311
A geographic (ellipsoidal) 2d polygon.
Definition: geometries_cs.h:259
Geographic_linearring & geographic_exterior_ring() const
Get the exterior ring.
Definition: geometries.cc:222
void clear() noexcept override
Removes all points from the linestring.
Definition: geometries_cs.h:172
std::vector< Geographic_linearring, Malloc_allocator< Geographic_linearring > > m_interior_rings
Interior rings (holes).
Definition: geometries_cs.h:266
Cartesian_polygon()
Definition: geometries_cs.h:220
Cartesian_polygon & operator[](std::size_t i) override
Definition: geometries_cs.h:639
void push_back(const Linearring &lr) override
Adds a linear ring to the polygon.
Definition: geometries.cc:196
const_iterator end() const noexcept
Definition: geometries_cs.h:637
decltype(m_points) typedef ::iterator iterator
Definition: geometries_cs.h:465
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:663
Cartesian_linestring & back()
Definition: geometries_cs.h:533
iterator begin() noexcept
Definition: geometries_cs.h:143
A Cartesian 2d point.
Definition: geometries_cs.h:46
decltype(m_polygons) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:657
Cartesian_linestring & operator[](std::size_t i) override
Definition: geometries_cs.h:542
const_iterator end() const noexcept
Definition: geometries_cs.h:540
decltype(m_linestrings) typedef ::value_type value_type
Definition: geometries_cs.h:558
Linearring & exterior_ring() override
Returns the exterior ring of the polygon.
Definition: geometries_cs.h:253
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:484
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:676
iterator begin() noexcept
Definition: geometries_cs.h:536
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:223
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:579
decltype(m_points) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:422
decltype(m_linestrings) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:510
decltype(m_points) typedef ::value_type value_type
Definition: geometries_cs.h:75
std::vector< Cartesian_polygon, Malloc_allocator< Cartesian_polygon > > m_polygons
List of polygons in the collection.
Definition: geometries_cs.h:605
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:583
A Cartesian 2d multipoint.
Definition: geometries_cs.h:414
const Geographic_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:204
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:515
iterator begin() noexcept
Definition: geometries_cs.h:633
bool empty() const override
Checks if the collection is empty.
Definition: geometries.cc:491
ssize_t count
Definition: memcached.c:386
Geographic_polygon()
Definition: geometries_cs.h:269
void push_back(const Geometry &g) override
Adds a geometry to the collection.
Definition: geometries.cc:595
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:163
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:129
Geographic_linestring & operator[](std::size_t i) override
Definition: geometries_cs.h:592
std::vector< Geographic_polygon, Malloc_allocator< Geographic_polygon > > m_polygons
List of polygons in the collection.
Definition: geometries_cs.h:652
bool accept(Geometry_visitor *v) override
Applies a hierarchical visitor to this geometry.
Definition: geometries.cc:539
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries.h:251
std::vector< Cartesian_linearring, Malloc_allocator< Cartesian_linearring > > m_interior_rings
Interior rings (holes).
Definition: geometries_cs.h:217
Geographic_polygon & operator[](std::size_t i) override
Definition: geometries_cs.h:686
void clear() noexcept override
Removes all geometries from the geometrycollection.
Definition: geometries_cs.h:678
PSI_memory_key key_memory_Geometry_objects_data
Definition: psi_memory_key.cc:45
Cartesian_point(double x, double y)
Definition: geometries_cs.h:49
std::vector< Geographic_point, Malloc_allocator< Geographic_point > > m_points
List of points in the collection.
Definition: geometries_cs.h:461
const_iterator end() const noexcept
Definition: geometries_cs.h:449
const_iterator end() const noexcept
Definition: geometries_cs.h:352
const Geometry & operator[](std::size_t i) const override
Definition: geometries_cs.h:689
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:272
decltype(m_polygons) typedef ::value_type value_type
Definition: geometries_cs.h:608
std::vector< Geographic_linestring, Malloc_allocator< Geographic_linestring > > m_linestrings
List of linestrings in the collection.
Definition: geometries_cs.h:555
Geographic_geometrycollection()
Definition: geometries_cs.h:370
Coordinate_system coordinate_system() const override
Gets the coordinate system.
Definition: geometries_cs.h:471
@ kGeographic
An ellipsoidal system with longitude and latitude coordinates, both in the same unit.
bool empty() const override
Checks if the linestring is empty.
Definition: geometries_cs.h:170
A polygon consisting of an outer ring and zero or more interior rings defining holes in the polygon.
Definition: geometries.h:309
std::size_t size() const override
Returns the size of the geometrycollection.
Definition: geometries_cs.h:441
std::vector< Cartesian_point, Malloc_allocator< Cartesian_point > > m_points
String of points constituting the linestring.
Definition: geometries_cs.h:72
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:485
decltype(m_polygons) typedef ::const_iterator const_iterator
Definition: geometries_cs.h:610
Linearring & exterior_ring() override
Returns the exterior ring of the polygon.
Definition: geometries_cs.h:302
const_iterator begin() const noexcept
Definition: geometries_cs.h:446
iterator end() noexcept
Definition: geometries_cs.h:404
iterator end() noexcept
Definition: geometries_cs.h:683
const Geographic_point & back() const
Definition: geometries_cs.h:141
void push_back(const Point &pt) override
Adds a point to the end of the linestring.
Definition: geometries.cc:73
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:520
const Geographic_point & operator[](std::size_t i) const override
Definition: geometries_cs.h:150
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:398
std::size_t size() const override
Returns the size of (number of points in) the linestring.
Definition: geometries_cs.h:171
decltype(m_interior_rings) & interior_rings()
Get list of interior rings.
bool empty() const override
Checks if the linestring is empty.
Definition: geometries.cc:105
void resize(std::size_t count) override
Resizes the geometrycollection to contain a given number of elements.
Definition: geometries_cs.h:677
Geometry & operator[](std::size_t i) override
Definition: geometries_cs.h:354
iterator begin() noexcept
Definition: geometries_cs.h:97
bool empty() const override
Checks if the linestring is empty.
Definition: geometries.cc:83
const_iterator begin() const noexcept
Definition: geometries_cs.h:144
A Cartesian 2d linestring.
Definition: geometries_cs.h:66
decltype(m_points) typedef ::iterator iterator
Definition: geometries_cs.h:76
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:570
bool is_empty() const override
Check if this is an empty geometry.
Definition: geometries_cs.h:190