27 std::size_t year_start = date.find_first_not_of(
' ');
28 if(year_start == std::string::npos) {
34 std::size_t year_end = date.find_first_of(
' ', year_start);
35 if(year_end == std::string::npos) {
36 year_end = date.size();
39 date_result.
year = std::stoi(date.substr(year_start, year_end - year_start));
41 std::size_t epoch_start = date.find_first_not_of(
' ', year_end);
42 if(epoch_start == std::string::npos) {
43 date_result.
epoch = EPOCH::WESNOTH;
45 std::size_t epoch_end = date.find_first_of(
' ', epoch_start);
46 date_result.
epoch = EPOCH::string_to_enum(date.substr(epoch_start, epoch_end - epoch_start), EPOCH::WESNOTH);
57 case EPOCH::BEFORE_WESNOTH:
63 case EPOCH::BEFORE_FALL:
66 case EPOCH::AFTER_FALL:
92 using EPOCH = irdya_date::EPOCH;
bool operator<(const irdya_date &a, const irdya_date &b)
std::map< std::string, t_string > string_map
bool operator>=(const irdya_date &a, const irdya_date &b)
std::string to_string() const
static irdya_date read_date(const std::string &date)
static map_location::DIRECTION s
bool operator==(const irdya_date &a, const irdya_date &b)
bool operator!=(const irdya_date &a, const irdya_date &b)
unsigned int get_year() const
bool operator<=(const irdya_date &a, const irdya_date &b)
std::ostream & operator<<(std::ostream &s, const irdya_date &d)
bool operator>(const irdya_date &a, const irdya_date &b)