ISO8601: Removed the need for ::ambiguity

This commit is contained in:
Paul Beckingham 2015-07-01 17:59:27 -04:00
parent 0cbcbeedc5
commit 2402ec8d6e
2 changed files with 4 additions and 17 deletions

View file

@ -45,15 +45,6 @@ ISO8601d::operator time_t () const
return _value;
}
////////////////////////////////////////////////////////////////////////////////
// By default, ISO8601d allows ambiguous dates, such as YYYY, YYYYMMDD, HHMMSS.
// These are also valid numbers. Setting ambiguity to false inhibits the
// parsing of these as dates.
void ISO8601d::ambiguity (bool value)
{
_ambiguity = value;
}
////////////////////////////////////////////////////////////////////////////////
// Supported:
//
@ -125,7 +116,6 @@ bool ISO8601d::parse (const std::string& input, std::string::size_type& start)
////////////////////////////////////////////////////////////////////////////////
void ISO8601d::clear ()
{
_ambiguity = true;
_year = 0;
_month = 0;
_week = 0;
@ -279,15 +269,14 @@ bool ISO8601d::parse_time_ext (Nibbler& n)
{
seconds += ss;
_seconds = seconds;
return true;
}
if (_ambiguity)
{
_seconds = seconds;
if (!Lexer::isDigit (n.next ()))
return true;
}
_seconds = seconds;
if (!Lexer::isDigit (n.next ()))
return true;
}
n = backup;

View file

@ -38,7 +38,6 @@ public:
ISO8601d (const ISO8601d&); // Unimplemented
ISO8601d& operator= (const ISO8601d&); // Unimplemented
operator time_t () const;
void ambiguity (bool);
bool parse (const std::string&, std::string::size_type&);
void clear ();
void set_default_time (int, int, int);
@ -55,7 +54,6 @@ private:
void resolve ();
public:
bool _ambiguity;
int _year;
int _month;
int _week;