/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
3party/opening_hours/parse_weeks.cpp
36 строк
1 KB
Yuri Gorshenin
[build] Use system-provided boost instead of 3party.
28 фев 2017, 21:00
28 фев 2017, 21:00
f36d72b
Код
Авторство
О чём код?
#include "parse_opening_hours.hpp" #include "opening_hours_parsers.hpp" #include <boost/spirit/include/phoenix_bind.hpp> namespace osmoh { namespace parsing { week_selector_parser::week_selector_parser() : week_selector_parser::base_type(main) { using qi::uint_; using qi::lit; using qi::_1; using qi::_2; using qi::_3; using qi::_val; using osmoh::WeekRange; week = (weeknum >> dash >> weeknum >> '/' >> uint_) [bind(&WeekRange::SetStart, _val, _1), bind(&WeekRange::SetEnd, _val, _2), bind(&WeekRange::SetPeriod, _val, _3)] | (weeknum >> dash >> weeknum) [bind(&WeekRange::SetStart, _val, _1), bind(&WeekRange::SetEnd, _val, _2)] | weeknum [bind(&WeekRange::SetStart, _val, _1)] ; main %= charset::no_case[lit("week")] >> (week % ','); } } bool Parse(std::string const & str, TWeekRanges & context) { return osmoh::ParseImpl<parsing::week_selector_parser>(str, context); } } // namespace osmoh