MySQL 8.3.0
Source Code Documentation
gis::Cartesian_geometrycollection Class Reference

A Cartesian 2d geometry collection. More...

#include <geometries_cs.h>

Inheritance diagram for gis::Cartesian_geometrycollection:
[legend]

Public Types

typedef decltype(m_geometries) ::iterator iterator
 
typedef decltype(m_geometries) ::const_iterator const_iterator
 

Public Member Functions

 Cartesian_geometrycollection ()
 
 Cartesian_geometrycollection (const Cartesian_geometrycollection &gc)
 
 Cartesian_geometrycollection (Cartesian_geometrycollection &&gc) noexcept
 
 ~Cartesian_geometrycollection () override
 
Coordinate_system coordinate_system () const override
 Gets the coordinate system. More...
 
bool accept (Geometry_visitor *v) override
 Applies a hierarchical visitor to this geometry. More...
 
bool is_empty () const override
 Check if this is an empty geometry. More...
 
void pop_front () override
 Removes a geometry from the front of the collection. More...
 
void push_back (const Geometry &g) override
 Adds a geometry to the collection. More...
 
void push_back (Geometry &&g) override
 
bool empty () const override
 Checks if the collection is empty. More...
 
std::size_t size () const override
 Returns the size of the geometrycollection. More...
 
void resize (std::size_t count) override
 Resizes the geometrycollection to contain a given number of elements. More...
 
void clear () noexcept override
 Removes all geometries from the geometrycollection. More...
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
Geometryfront () override
 Returns the first geometry of the collection. More...
 
const Geometryfront () const override
 
Geometryoperator[] (std::size_t i) override
 
const Geometryoperator[] (std::size_t i) const override
 
Cartesian_geometrycollectionclone () const override
 Clone pattern to easily duplicate a Geometrycollection. More...
 
- Public Member Functions inherited from gis::Geometrycollection
Geometry_type type () const override
 Gets the geometry type of the object. More...
 
- Public Member Functions inherited from gis::Geometry
 Geometry ()=default
 
virtual ~Geometry ()=default
 
 Geometry (const Geometry &)=default
 
Geometryoperator= (const Geometry &)=default
 

Private Attributes

std::vector< Geometry *, Malloc_allocator< Geometry * > > m_geometries
 List of geometries in the collection. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from gis::Geometrycollection
static GeometrycollectionCreateGeometrycollection (Coordinate_system coordinate_system)
 Creates a subclass of Geometrycollection from a Coordinate_system. More...
 
static Geometrycollectioncreate_geometrycollection (Coordinate_system coordinate_system)
 Creates a subclass from a Coordinate_system. More...
 

Detailed Description

A Cartesian 2d geometry collection.

Member Typedef Documentation

◆ const_iterator

◆ iterator

Constructor & Destructor Documentation

◆ Cartesian_geometrycollection() [1/3]

gis::Cartesian_geometrycollection::Cartesian_geometrycollection ( )
inline

◆ Cartesian_geometrycollection() [2/3]

gis::Cartesian_geometrycollection::Cartesian_geometrycollection ( const Cartesian_geometrycollection gc)

◆ Cartesian_geometrycollection() [3/3]

gis::Cartesian_geometrycollection::Cartesian_geometrycollection ( Cartesian_geometrycollection &&  gc)
inlinenoexcept

◆ ~Cartesian_geometrycollection()

gis::Cartesian_geometrycollection::~Cartesian_geometrycollection ( )
inlineoverride

Member Function Documentation

◆ accept()

bool gis::Cartesian_geometrycollection::accept ( Geometry_visitor v)
overridevirtual

Applies a hierarchical visitor to this geometry.

See also
gis::Geometry_visitor
Parameters
vA hierarchical visitor.
Return values
trueThe execution was aborted by the visitor.
falseThe execution completed.

Implements gis::Geometrycollection.

◆ begin() [1/2]

const_iterator gis::Cartesian_geometrycollection::begin ( void  ) const
inlinenoexcept

◆ begin() [2/2]

iterator gis::Cartesian_geometrycollection::begin ( void  )
inlinenoexcept

◆ clear()

void gis::Cartesian_geometrycollection::clear ( )
inlineoverridevirtualnoexcept

Removes all geometries from the geometrycollection.

Implements gis::Geometrycollection.

◆ clone()

Cartesian_geometrycollection * gis::Cartesian_geometrycollection::clone ( ) const
inlineoverridevirtual

Clone pattern to easily duplicate a Geometrycollection.

Returns
A pointer to a copy of the Geometrycollection that caller must free when it is done with it.

Implements gis::Geometrycollection.

◆ coordinate_system()

Coordinate_system gis::Cartesian_geometrycollection::coordinate_system ( ) const
inlineoverridevirtual

Gets the coordinate system.

Returns
The coordinate system type.

Implements gis::Geometry.

◆ empty()

bool gis::Cartesian_geometrycollection::empty ( ) const
overridevirtual

Checks if the collection is empty.

Return values
trueThe polygon is empty.
falseThe polygon is not empty.

Implements gis::Geometrycollection.

◆ end() [1/2]

const_iterator gis::Cartesian_geometrycollection::end ( void  ) const
inlinenoexcept

◆ end() [2/2]

iterator gis::Cartesian_geometrycollection::end ( void  )
inlinenoexcept

◆ front() [1/2]

const Geometry & gis::Cartesian_geometrycollection::front ( ) const
inlineoverridevirtual

◆ front() [2/2]

Geometry & gis::Cartesian_geometrycollection::front ( )
inlineoverridevirtual

Returns the first geometry of the collection.

Returns
First geometry of the collection

Implements gis::Geometrycollection.

◆ is_empty()

bool gis::Cartesian_geometrycollection::is_empty ( ) const
inlineoverridevirtual

Check if this is an empty geometry.

The definition of empty geometries is the one in SFA-CA (OGC 06-103r4, Sect. 6.1.2.2), i.e., an empty point set.

Note
This is different from the function "empty", which returns true if a geometry contains no subgeometries. E.g., a geometry collection may contain another geometry collection which is empty. In this case, the "empty" function would return false on the outermost geometry collection, while "is_empty" would return true.
Return values
trueThe geometry represents the empty point set.
falseThe geometry represent a non-empty point set.

Implements gis::Geometry.

◆ operator[]() [1/2]

const Geometry & gis::Cartesian_geometrycollection::operator[] ( std::size_t  i) const
inlineoverridevirtual

◆ operator[]() [2/2]

Geometry & gis::Cartesian_geometrycollection::operator[] ( std::size_t  i)
inlineoverridevirtual

◆ pop_front()

void gis::Cartesian_geometrycollection::pop_front ( )
inlineoverridevirtual

Removes a geometry from the front of the collection.

Implements gis::Geometrycollection.

◆ push_back() [1/2]

void gis::Cartesian_geometrycollection::push_back ( const Geometry g)
overridevirtual

Adds a geometry to the collection.

Parameters
gThe geometry to add.

Implements gis::Geometrycollection.

◆ push_back() [2/2]

void gis::Cartesian_geometrycollection::push_back ( Geometry &&  g)
overridevirtual

◆ resize()

void gis::Cartesian_geometrycollection::resize ( std::size_t  count)
inlineoverridevirtual

Resizes the geometrycollection to contain a given number of elements.

If the new size is smaller than the current size, the remaining geometries are discarded.

Parameters
[in]countThe new number of geometries.

Implements gis::Geometrycollection.

◆ size()

std::size_t gis::Cartesian_geometrycollection::size ( ) const
inlineoverridevirtual

Returns the size of the geometrycollection.

Returns
Number of geometries in the geometrycollection.

Implements gis::Geometrycollection.

Member Data Documentation

◆ m_geometries

std::vector<Geometry *, Malloc_allocator<Geometry *> > gis::Cartesian_geometrycollection::m_geometries
private

List of geometries in the collection.


The documentation for this class was generated from the following files: