11#include <Sawyer/Optional.h> 
   12#include <Sawyer/Result.h> 
  227    void normalizeSecond();
 
  228    void normalizeMinute();
 
  229    void normalizeHour();
 
  230    void normalizeMonth();
 
 
  234std::ostream& operator<<(std::ostream&, 
const Time&);
 
Holds a value or nothing.
 
Result containing a value or an error.
 
Represents an ISO 8601 time point.
 
const Optional< int > & timeZoneHour() const
Returns a timezone hour, if any.
 
bool hasDate() const
Test whether date is present.
 
bool hasTime() const
Test whether time is present.
 
bool hasZone() const
Test whether a timezone is present.
 
Time noZone() const
Removes the timezone portion of a time point.
 
const Optional< unsigned > & month() const
Returns the month, if any.
 
Time lowerBound() const
Returns the lower bound for the time.
 
const Optional< unsigned > & second() const
Returns the second, if any.
 
static Time now()
Current time.
 
const Optional< int > & timeZoneMinute() const
Returns a timezone minute, if any.
 
bool operator==(const Time &) const
Compare two times for equality or inequality.
 
Result< Time, std::string > toZulu() const
Convert to timezone +0000.
 
const Optional< unsigned > & day() const
Returns the day of the month, if any.
 
Result< time_t, std::string > toUnix() const
Convert the time point to a Unix system time.
 
Time noDate() const
Removes the date portion of a time point.
 
Time()
Construct an empty time point.
 
static Result< Time, std::string > parse(const std::string &)
Parse an ISO 8601 time string.
 
bool operator!=(const Time &) const
Compare two times for equality or inequality.
 
const Optional< unsigned > & minute() const
Returns the minute, if any.
 
bool isEmpty() const
Test whether this object is empty.
 
bool hasSpecificDate() const
Test whether a date is fully specified.
 
const Optional< unsigned > & year() const
Returns the year, if any.
 
Time resolve(const Time &) const
Fill in missing fields.
 
bool operator<(const Time &) const
Compare two times for less-than.
 
Time noTime() const
Removes the time portion of a time point.
 
std::string toString() const
Convert a time point to ISO 8601 format.
 
bool hasSpecificTime() const
Test whether a time is fully specified.
 
Result< Time, std::string > upperBound() const
Returns an upper bound for the time.
 
const Optional< unsigned > & hour() const
Returns the hour, if any.