meos namespace
Classes
-
template<typename BaseType>struct default_interp
- Helps decide the appropriate Interpolation for specified base type.
- class DeserializationException
-
template<typename T = float>class Deserializer
- class GeomPoint
- A point in space.
-
template<typename BaseType>struct is_discrete
- Helps find out if a base type is discrete or not.
-
template<typename BaseType>struct is_geometry
- Helps find out if a base type is geometry or not.
- class Period
- Time interval with either inclusive or exlusive bounds.
- class PeriodSet
- Set of one or more Period objects.
-
template<typename T>class Range
- Range of values with either inclusive or exlusive bounds.
- class SerializationException
-
template<typename T = float>class Serializer
- struct SRIDMembers
- class STBox
- Spatio-temporal box - bounding box with value and/or space/time dimensions.
- class TBox
- Temporal box - bounding box with value and/or time dimensions.
-
template<typename BaseType = float>class Temporal
- Base for all the temporal types - TInstant, TInstantSet, TSequence, TSequenceSet.
-
template<typename TemporalType>struct TemporalComparators
-
template<typename BaseType = float>class TemporalSet
- Base class for TInstantSet and TSequence.
- class TimestampSet
- Set of one or more time_
point objects. -
template<typename BaseType>class TInstant
- A value at a particular instant in time.
-
template<typename TemporalType, typename TInstantType, typename BaseType>struct TInstantFunctions
-
template<typename BaseType = float>class TInstantSet
- Set of TInstant objects.
-
template<typename BaseType = float>class TSequence
- Set of TInstant objects, with exclusive/inclusive bounds and Interpolation.
-
template<typename BaseType = float>class TSequenceSet
- Set of TSequence objects.
Enums
- enum class Interpolation { Stepwise, Linear }
- enum class TemporalDuration { Temporal, Instant, InstantSet, Sequence, SequenceSet }
Typedefs
- using time_point = std::chrono::system_clock::time_point
- using duration_ms = std::chrono::milliseconds
- using RangeBool = Range<bool>
- using RangeInt = Range<int>
- using RangeFloat = Range<float>
- using RangeText = Range<std::string>
- using RangeGeomPoint = Range<GeomPoint>
- using Empty = std::tuple
- using TBool = Temporal<bool>
- using TInt = Temporal<int>
- using TFloat = Temporal<float>
- using TText = Temporal<std::string>
- using TGeomPoint = Temporal<GeomPoint>
- using TBoolSet = TemporalSet<bool>
- using TIntSet = TemporalSet<int>
- using TFloatSet = TemporalSet<float>
- using TTextSet = TemporalSet<std::string>
- using TGeomPointSet = TemporalSet<GeomPoint>
- using TBoolInst = TInstant<bool>
- using TIntInst = TInstant<int>
- using TFloatInst = TInstant<float>
- using TTextInst = TInstant<std::string>
- using TGeomPointInst = TInstant<GeomPoint>
- using TBoolInstSet = TInstantSet<bool>
- using TIntInstSet = TInstantSet<int>
- using TFloatInstSet = TInstantSet<float>
- using TTextInstSet = TInstantSet<std::string>
- using TGeomPointInstSet = TInstantSet<GeomPoint>
- using TBoolSeq = TSequence<bool>
- using TIntSeq = TSequence<int>
- using TFloatSeq = TSequence<float>
- using TTextSeq = TSequence<std::string>
- using TGeomPointSeq = TSequence<GeomPoint>
- using TBoolSeqSet = TSequenceSet<bool>
- using TIntSeqSet = TSequenceSet<int>
- using TFloatSeqSet = TSequenceSet<float>
- using TTextSeqSet = TSequenceSet<std::string>
- using TGeomPointSeqSet = TSequenceSet<GeomPoint>
Functions
- void init_geos()
- void finish_geos()
-
template<typename T>auto nextValue(std::istream& in) -> T
- void validate_normalized_ISO8601(const std::string& s)
- auto normalized_ISO8601(std::string s) -> std::string
-
auto nextTime(std::istream& in) -> time_
point - void consume(std::istream& in, char expectedCharacter, bool skip_ws = true)
- void consume(std::istream& in, std::string expectedString, bool skip_ws = true)
- auto consume_one_of(std::istream& in, std::string charSet, bool skip_ws = true) -> char
- auto read_until_one_of(std::istream& in, std::string end) -> std::string
- auto operator<<(std::ostream& os, const Interpolation& i) -> std::ostream&
- Outputs a string representation of the Interpolation to the stream.
-
auto write_ISO8601_time(time_
point const& t) -> std::string - auto rtrim(std::string& s, std::string const& t = ws) -> std::string&
- auto ltrim(std::string& s, std::string const& t = ws) -> std::string&
- auto trim(std::string& s, std::string const& t = ws) -> std::string&
Variables
- GEOSContextHandle_t geos_context
-
template<typename BaseType>bool is_geometry_v constexpr
- Shorthand for is_geometry<BaseType>::
value. - int const SRID_DEFAULT
-
template<typename BaseType>Interpolation default_interp_v constexpr
- Shorthand for default_interp<BaseType>::
value. -
template<typename BaseType>bool is_discrete_v constexpr
- Shorthand for is_discrete<BaseType>::
value. - std::string ws
Enum documentation
enum class meos:: Interpolation
Temporal sequences and sequence sets can specify interpolation.
Discrete base types like bool, int and text can only have Stepwise interpolation. However other base types like float and geom can have Linear interpolation as well.
The following type traits are also provided: default_interp_v<BaseType> for getting the default Interpolation. is_discrete_v<BaseType> for checking if a base type is discrete or not.
enum class meos:: TemporalDuration
Typedef documentation
typedef std::chrono::system_clock::time_point meos:: time_point
#include <meos/io/utils.hpp>
typedef std::chrono::milliseconds meos:: duration_ms
#include <meos/io/utils.hpp>
typedef Range<bool> meos:: RangeBool
#include <meos/types/range/Range.hpp>
typedef Range<int> meos:: RangeInt
#include <meos/types/range/Range.hpp>
typedef Range<float> meos:: RangeFloat
#include <meos/types/range/Range.hpp>
typedef Range<std::string> meos:: RangeText
#include <meos/types/range/Range.hpp>
typedef Range<GeomPoint> meos:: RangeGeomPoint
#include <meos/types/range/Range.hpp>
typedef std::tuple meos:: Empty
#include <meos/types/temporal/Temporal.hpp>
Declares an empty type
typedef Temporal<bool> meos:: TBool
#include <meos/types/temporal/Temporal.hpp>
typedef Temporal<int> meos:: TInt
#include <meos/types/temporal/Temporal.hpp>
typedef Temporal<float> meos:: TFloat
#include <meos/types/temporal/Temporal.hpp>
typedef Temporal<std::string> meos:: TText
#include <meos/types/temporal/Temporal.hpp>
typedef Temporal<GeomPoint> meos:: TGeomPoint
#include <meos/types/temporal/Temporal.hpp>
typedef TemporalSet<bool> meos:: TBoolSet
typedef TemporalSet<int> meos:: TIntSet
typedef TemporalSet<float> meos:: TFloatSet
typedef TemporalSet<std::string> meos:: TTextSet
typedef TemporalSet<GeomPoint> meos:: TGeomPointSet
typedef TInstant<bool> meos:: TBoolInst
#include <meos/types/temporal/TInstant.hpp>
typedef TInstant<int> meos:: TIntInst
#include <meos/types/temporal/TInstant.hpp>
typedef TInstant<float> meos:: TFloatInst
#include <meos/types/temporal/TInstant.hpp>
typedef TInstant<std::string> meos:: TTextInst
#include <meos/types/temporal/TInstant.hpp>
typedef TInstant<GeomPoint> meos:: TGeomPointInst
#include <meos/types/temporal/TInstant.hpp>
typedef TInstantSet<bool> meos:: TBoolInstSet
typedef TInstantSet<int> meos:: TIntInstSet
typedef TInstantSet<float> meos:: TFloatInstSet
typedef TInstantSet<std::string> meos:: TTextInstSet
typedef TInstantSet<GeomPoint> meos:: TGeomPointInstSet
typedef TSequence<bool> meos:: TBoolSeq
#include <meos/types/temporal/TSequence.hpp>
typedef TSequence<int> meos:: TIntSeq
#include <meos/types/temporal/TSequence.hpp>
typedef TSequence<float> meos:: TFloatSeq
#include <meos/types/temporal/TSequence.hpp>
typedef TSequence<std::string> meos:: TTextSeq
#include <meos/types/temporal/TSequence.hpp>
typedef TSequence<GeomPoint> meos:: TGeomPointSeq
#include <meos/types/temporal/TSequence.hpp>
typedef TSequenceSet<bool> meos:: TBoolSeqSet
typedef TSequenceSet<int> meos:: TIntSeqSet
typedef TSequenceSet<float> meos:: TFloatSeqSet
typedef TSequenceSet<std::string> meos:: TTextSeqSet
typedef TSequenceSet<GeomPoint> meos:: TGeomPointSeqSet
Function documentation
void meos:: init_geos()
#include <meos/geos.hpp>
void meos:: finish_geos()
#include <meos/geos.hpp>
#include <meos/io/utils.hpp>
template<typename T>
T meos:: nextValue(std::istream& in)
void meos:: validate_normalized_ISO8601(const std::string& s)
#include <meos/io/utils.hpp>
std::string meos:: normalized_ISO8601(std::string s)
#include <meos/io/utils.hpp>
time_ point meos:: nextTime(std::istream& in)
#include <meos/io/utils.hpp>
Parse time in ISO8601 format Skips initial whitespaces, reads until one of ",)]}\n" is reached, and tries to parse everything in between as time in ISO8601 format
Example patterns: 1234-12-12 1234-12-12 12:12 1234-12-12T12:12 1234-12-12 12:12:12 1234-12-12T12:12:12 1234-12-12 12:12:12Z 1234-12-12 12:12:12+05 1234-12-12 12:12:12-0530 // normalized pattern
void meos:: consume(std::istream& in,
char expectedCharacter,
bool skip_ws = true)
#include <meos/io/utils.hpp>
void meos:: consume(std::istream& in,
std::string expectedString,
bool skip_ws = true)
#include <meos/io/utils.hpp>
char meos:: consume_one_of(std::istream& in,
std::string charSet,
bool skip_ws = true)
#include <meos/io/utils.hpp>
std::string meos:: read_until_one_of(std::istream& in,
std::string end)
#include <meos/io/utils.hpp>
std::ostream& meos:: operator<<(std::ostream& os,
const Interpolation& i)
Outputs a string representation of the Interpolation to the stream.
std::string meos:: write_ISO8601_time(time_ point const& t)
#include <meos/util/serializing.hpp>
std::string& meos:: rtrim(std::string& s,
std::string const& t = ws)
#include <meos/util/string.hpp>
std::string& meos:: ltrim(std::string& s,
std::string const& t = ws)
#include <meos/util/string.hpp>
std::string& meos:: trim(std::string& s,
std::string const& t = ws)
#include <meos/util/string.hpp>
Variable documentation
GEOSContextHandle_t meos:: geos_context
#include <meos/geos.hpp>
#include <meos/types/geom/GeomPoint.hpp>
template<typename BaseType>
bool meos:: is_geometry_v constexpr
Shorthand for is_geometry<BaseType>::
int const meos:: SRID_DEFAULT
#include <meos/types/geom/SRIDMembers.hpp>
template<typename BaseType>
Interpolation meos:: default_interp_v constexpr
Shorthand for default_interp<BaseType>::
template<typename BaseType>
bool meos:: is_discrete_v constexpr
Shorthand for is_discrete<BaseType>::
std::string meos:: ws
#include <meos/util/string.hpp>