Public Member Functions | Protected Attributes | List of all members
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT > Class Template Reference

Base class for objects that can either refer to linestrings or polygons. More...

#include <LineStringOrPolygon.h>

Public Member Functions

template<typename VisitorT >
decltype(auto) applyVisitor (VisitorT visitor) const
 apply a generic visitor More...
 
const AttributeMapattributes () const
 get the attributes of the linestring or polygon More...
 
bool equals (const LineStringOrPolygonBase &other) const
 
Id id () const
 get the id of the linestring or polygon More...
 
bool isLineString () const
 true if this objct holds a lineString More...
 
bool isPolygon () const
 true if this object holds an polygon More...
 
Optional< LineStringT > lineString () const
 return the managed linestring More...
 
 LineStringOrPolygonBase ()=default
 
 LineStringOrPolygonBase (const LineStringOrPolygonBase &rhs)=default
 
 LineStringOrPolygonBase (LineStringOrPolygonBase &&rhs)=default
 
 LineStringOrPolygonBase (LineStringT linestring)
 
 LineStringOrPolygonBase (PolygonT polygon)
 
 operator const LineStringT & () const
 convert to linestring (type is not checked) More...
 
 operator const PolygonT & () const
 convert to polygon (type is not checked) More...
 
LineStringOrPolygonBaseoperator= (const LineStringOrPolygonBase &rhs)=default
 
LineStringOrPolygonBaseoperator= (LineStringOrPolygonBase &&rhs)=default
 
LineStringOrPolygonBaseoperator= (LineStringT linestring)
 
LineStringOrPolygonBaseoperator= (PolygonT poly)
 
Optional< PolygonT > polygon () const
 get the managed polygon More...
 
 ~LineStringOrPolygonBase () noexcept=default
 

Protected Attributes

boost::variant< LineStringT, PolygonT > lsOrPoly_
 

Detailed Description

template<typename LineStringT, typename PolygonT>
class lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >

Base class for objects that can either refer to linestrings or polygons.

Definition at line 11 of file LineStringOrPolygon.h.

Constructor & Destructor Documentation

◆ LineStringOrPolygonBase() [1/5]

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::LineStringOrPolygonBase ( )
default

◆ LineStringOrPolygonBase() [2/5]

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::LineStringOrPolygonBase ( LineStringOrPolygonBase< LineStringT, PolygonT > &&  rhs)
default

◆ LineStringOrPolygonBase() [3/5]

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::LineStringOrPolygonBase ( const LineStringOrPolygonBase< LineStringT, PolygonT > &  rhs)
default

◆ ~LineStringOrPolygonBase()

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::~LineStringOrPolygonBase ( )
defaultnoexcept

◆ LineStringOrPolygonBase() [4/5]

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::LineStringOrPolygonBase ( LineStringT  linestring)
inline

Definition at line 20 of file LineStringOrPolygon.h.

◆ LineStringOrPolygonBase() [5/5]

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::LineStringOrPolygonBase ( PolygonT  polygon)
inline

Definition at line 22 of file LineStringOrPolygon.h.

Member Function Documentation

◆ applyVisitor()

template<typename LineStringT , typename PolygonT >
template<typename VisitorT >
decltype(auto) lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::applyVisitor ( VisitorT  visitor) const
inline

apply a generic visitor

Definition at line 47 of file LineStringOrPolygon.h.

◆ attributes()

template<typename LineStringT , typename PolygonT >
const AttributeMap& lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::attributes ( ) const
inline

get the attributes of the linestring or polygon

Definition at line 57 of file LineStringOrPolygon.h.

◆ equals()

template<typename LineStringT , typename PolygonT >
bool lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::equals ( const LineStringOrPolygonBase< LineStringT, PolygonT > &  other) const
inline

Definition at line 79 of file LineStringOrPolygon.h.

◆ id()

template<typename LineStringT , typename PolygonT >
Id lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::id ( ) const
inline

get the id of the linestring or polygon

Definition at line 52 of file LineStringOrPolygon.h.

◆ isLineString()

template<typename LineStringT , typename PolygonT >
bool lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::isLineString ( ) const
inline

true if this objct holds a lineString

Definition at line 37 of file LineStringOrPolygon.h.

◆ isPolygon()

template<typename LineStringT , typename PolygonT >
bool lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::isPolygon ( ) const
inline

true if this object holds an polygon

Definition at line 34 of file LineStringOrPolygon.h.

◆ lineString()

template<typename LineStringT , typename PolygonT >
Optional<LineStringT> lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::lineString ( ) const
inline

return the managed linestring

Definition at line 62 of file LineStringOrPolygon.h.

◆ operator const LineStringT &()

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator const LineStringT & ( ) const
inlineexplicit

convert to linestring (type is not checked)

Definition at line 40 of file LineStringOrPolygon.h.

◆ operator const PolygonT &()

template<typename LineStringT , typename PolygonT >
lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator const PolygonT & ( ) const
inlineexplicit

convert to polygon (type is not checked)

Definition at line 43 of file LineStringOrPolygon.h.

◆ operator=() [1/4]

template<typename LineStringT , typename PolygonT >
LineStringOrPolygonBase& lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator= ( const LineStringOrPolygonBase< LineStringT, PolygonT > &  rhs)
default

◆ operator=() [2/4]

template<typename LineStringT , typename PolygonT >
LineStringOrPolygonBase& lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator= ( LineStringOrPolygonBase< LineStringT, PolygonT > &&  rhs)
default

◆ operator=() [3/4]

template<typename LineStringT , typename PolygonT >
LineStringOrPolygonBase& lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator= ( LineStringT  linestring)
inline

Definition at line 24 of file LineStringOrPolygon.h.

◆ operator=() [4/4]

template<typename LineStringT , typename PolygonT >
LineStringOrPolygonBase& lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::operator= ( PolygonT  poly)
inline

Definition at line 28 of file LineStringOrPolygon.h.

◆ polygon()

template<typename LineStringT , typename PolygonT >
Optional<PolygonT> lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::polygon ( ) const
inline

get the managed polygon

Definition at line 71 of file LineStringOrPolygon.h.

Member Data Documentation

◆ lsOrPoly_

template<typename LineStringT , typename PolygonT >
boost::variant<LineStringT, PolygonT> lanelet::LineStringOrPolygonBase< LineStringT, PolygonT >::lsOrPoly_
protected

Definition at line 82 of file LineStringOrPolygon.h.


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


lanelet2_core
Author(s): Fabian Poggenhans
autogenerated on Thu Mar 6 2025 03:25:52