libosmscout  0.1
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules
osmscout::OpeningHours Class Reference

Utility for parsing simple OpenStreetMap opening hours. More...

#include <OpeningHours.h>

Classes

struct  DayTime
 
struct  Rule
 
struct  TimeInterval
 

Public Types

enum  WeekDay {
  WeekDay::Monday = 0, WeekDay::Tuesday, WeekDay::Wednesday, WeekDay::Thursday,
  WeekDay::Friday, WeekDay::Saturday, WeekDay::Sunday, WeekDay::PublicHoliday,
  WeekDay::SchoolHoliday
}
 Day of the week in the Gregorian calendar. More...
 

Public Member Functions

std::vector< RuleGetRules () const
 
 OpeningHours (const OpeningHours &)=default
 
 OpeningHours (OpeningHours &&)=default
 
 OpeningHours (std::vector< Rule > rules)
 
OpeningHoursoperator= (const OpeningHours &)=default
 
OpeningHoursoperator= (OpeningHours &&)=default
 
 ~OpeningHours ()=default
 

Static Public Member Functions

static std::optional< OpeningHoursParse (const std::string &str, bool explicitClosedDays=false)
 Parse OSM opening hours string. More...
 

Detailed Description

Utility for parsing simple OpenStreetMap opening hours.

see https://wiki.openstreetmap.org/wiki/Key:opening_hours

Member Enumeration Documentation

◆ WeekDay

Day of the week in the Gregorian calendar.

And special entries for holidays.

Enumerator
Monday 
Tuesday 
Wednesday 
Thursday 
Friday 
Saturday 
Sunday 
PublicHoliday 
SchoolHoliday 

Constructor & Destructor Documentation

◆ OpeningHours() [1/3]

osmscout::OpeningHours::OpeningHours ( std::vector< Rule rules)
explicit

◆ OpeningHours() [2/3]

osmscout::OpeningHours::OpeningHours ( const OpeningHours )
default

◆ OpeningHours() [3/3]

osmscout::OpeningHours::OpeningHours ( OpeningHours &&  )
default

◆ ~OpeningHours()

osmscout::OpeningHours::~OpeningHours ( )
default

Member Function Documentation

◆ GetRules()

std::vector<Rule> osmscout::OpeningHours::GetRules ( ) const
inline

◆ operator=() [1/2]

OpeningHours& osmscout::OpeningHours::operator= ( const OpeningHours )
default

◆ operator=() [2/2]

OpeningHours& osmscout::OpeningHours::operator= ( OpeningHours &&  )
default

◆ Parse()

std::optional< OpeningHours > osmscout::OpeningHours::Parse ( const std::string &  str,
bool  explicitClosedDays = false 
)
static

Parse OSM opening hours string.

Parameters
str
explicitClosedDaysexplicitly add empty rule for week days when is closed
Returns

References osmscout::log, Monday, SchoolHoliday, osmscout::SplitString(), osmscout::SplitStringToPair(), Sunday, osmscout::Trim(), and osmscout::Log::Warn().

Referenced by osmscout::OpeningHoursModel::setOpeningHours().


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