19 #ifndef GEOS_GEOM_COORDINATESEQUENCEFACTORY_H
20 #define GEOS_GEOM_COORDINATESEQUENCEFACTORY_H
23 #include <geos/export.h>
28 #include <geos/inline.h>
33 class CoordinateSequence;
55 virtual std::unique_ptr<CoordinateSequence>
create()
const = 0;
72 virtual std::unique_ptr<CoordinateSequence>
create(
73 std::vector<Coordinate>* coordinates,
74 std::size_t dimension = 0)
const = 0;
82 virtual std::unique_ptr<CoordinateSequence>
create(
83 std::vector<Coordinate> && coordinates,
84 std::size_t dimension = 0)
const = 0;
96 virtual std::unique_ptr<CoordinateSequence>
create(std::size_t size,
97 std::size_t dimension = 0)
const = 0;
A factory to create concrete instances of CoordinateSequences.
Definition: CoordinateSequenceFactory.h:48
virtual std::unique_ptr< CoordinateSequence > create() const =0
Returns an empty CoordinateSequence, the dimensions will be autodetected when it is populated.
virtual std::unique_ptr< CoordinateSequence > create(std::size_t size, std::size_t dimension=0) const =0
Creates a CoordinateSequence of the specified size and dimension.
virtual std::unique_ptr< CoordinateSequence > create(std::vector< Coordinate > *coordinates, std::size_t dimension=0) const =0
Returns a CoordinateSequence based on the given array.
virtual std::unique_ptr< CoordinateSequence > create(std::vector< Coordinate > &&coordinates, std::size_t dimension=0) const =0
Returns a CoordinateSequence based on the given array.
virtual std::unique_ptr< CoordinateSequence > create(const CoordinateSequence &coordSeq) const =0
Creates a CoordinateSequence which is a copy of the given one.
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26