Repo created
This commit is contained in:
parent
4af19165ec
commit
68073add76
12458 changed files with 12350765 additions and 2 deletions
43
3party/opening_hours/rules_evaluation.hpp
Normal file
43
3party/opening_hours/rules_evaluation.hpp
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#pragma once
|
||||
|
||||
#include "opening_hours.hpp"
|
||||
|
||||
#include <ctime>
|
||||
|
||||
namespace osmoh
|
||||
{
|
||||
|
||||
RuleState GetState(TRuleSequences const & rules, time_t const dateTime);
|
||||
|
||||
time_t GetNextTimeState(TRuleSequences const & rules, time_t const dateTime, RuleState state);
|
||||
|
||||
inline bool IsOpen(TRuleSequences const & rules, time_t const dateTime)
|
||||
{
|
||||
return GetState(rules, dateTime) == RuleState::Open;
|
||||
}
|
||||
|
||||
inline time_t GetNextTimeOpen(TRuleSequences const & rules, time_t const dateTime)
|
||||
{
|
||||
if (GetState(rules, dateTime) == RuleState::Open)
|
||||
return dateTime;
|
||||
return GetNextTimeState(rules, dateTime, RuleState::Open);
|
||||
}
|
||||
|
||||
inline bool IsClosed(TRuleSequences const & rules, time_t const dateTime)
|
||||
{
|
||||
return GetState(rules, dateTime) == RuleState::Closed;
|
||||
}
|
||||
|
||||
inline time_t GetNextTimeClosed(TRuleSequences const & rules, time_t const dateTime)
|
||||
{
|
||||
if (GetState(rules, dateTime) == RuleState::Closed)
|
||||
return dateTime;
|
||||
return GetNextTimeState(rules, dateTime, RuleState::Closed);
|
||||
}
|
||||
|
||||
inline bool IsUnknown(TRuleSequences const & rules, time_t const dateTime)
|
||||
{
|
||||
return GetState(rules, dateTime) == RuleState::Unknown;
|
||||
}
|
||||
|
||||
} // namespace osmoh
|
||||
Loading…
Add table
Add a link
Reference in a new issue