Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

Dv::Util::Duration Class Reference

Class representing a duration. More...

#include <period.h>

List of all members.

Public Member Functions

 Duration (size_t years, size_t months, size_t seconds)
 Rather inconvenient, the static functions below are probably more useful.
Duration operator+ (const Duration &d) const
 Add two duration: separately adds the differen second/month/year units.
Duration operator+= (const Duration &d)
 Add a duration to a duration: separately adds the differen second/month/year units.
size_t years () const
 Number of years of duration.
size_t months () const
 Number of months of duration.
size_t seconds () const
 Number of seconds of duration.
std::string str () const
 Return string representation of duration.

Static Public Member Functions

Duration mins (size_t mins, size_t secs=0)
Duration hrs (size_t hrs, size_t mins=0, size_t secs=0)
Duration days (size_t days, size_t hrs=0, size_t mins=0, size_t secs=0)
Duration weeks (size_t wks, size_t days=0, size_t hrs=0, size_t mins=0, size_t secs=0)
Duration months (size_t months)
Duration years (size_t years, size_t months=0)

Private Attributes

size_t years_
size_t months_
unsigned long seconds_


Detailed Description

Class representing a duration.

This is intended for administrative applications, e.g. adding a duration of 24 hrs to a Date will result in the next day, same time, even if a daylight savings time switch happens in the period.

There are 3 incompatible units:

Definition at line 25 of file period.h.


Constructor & Destructor Documentation

Dv::Util::Duration::Duration size_t  years,
size_t  months,
size_t  seconds
[inline]
 

Rather inconvenient, the static functions below are probably more useful.

Definition at line 28 of file period.h.

References months_, seconds_, and years_.


Member Function Documentation

Duration Dv::Util::Duration::mins size_t  mins,
size_t  secs = 0
[static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::hrs size_t  hrs,
size_t  mins = 0,
size_t  secs = 0
[static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::days size_t  days,
size_t  hrs = 0,
size_t  mins = 0,
size_t  secs = 0
[static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::weeks size_t  wks,
size_t  days = 0,
size_t  hrs = 0,
size_t  mins = 0,
size_t  secs = 0
[static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::months size_t  months  )  [static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::years size_t  years,
size_t  months = 0
[static]
 

Convenience replacements for constructor.

Duration Dv::Util::Duration::operator+ const Duration d  )  const
 

Add two duration: separately adds the differen second/month/year units.

Duration Dv::Util::Duration::operator+= const Duration d  ) 
 

Add a duration to a duration: separately adds the differen second/month/year units.

size_t Dv::Util::Duration::years  )  const [inline]
 

Number of years of duration.

Definition at line 49 of file period.h.

References years_.

size_t Dv::Util::Duration::months  )  const [inline]
 

Number of months of duration.

Definition at line 51 of file period.h.

References months_.

size_t Dv::Util::Duration::seconds  )  const [inline]
 

Number of seconds of duration.

Definition at line 53 of file period.h.

References seconds_.

std::string Dv::Util::Duration::str  )  const
 

Return string representation of duration.

This has the form

      YY-MM-DD HH:MM:SS


Member Data Documentation

size_t Dv::Util::Duration::years_ [private]
 

Definition at line 63 of file period.h.

Referenced by Duration(), and years().

size_t Dv::Util::Duration::months_ [private]
 

Definition at line 64 of file period.h.

Referenced by Duration(), and months().

unsigned long Dv::Util::Duration::seconds_ [private]
 

Definition at line 65 of file period.h.

Referenced by Duration(), and seconds().


The documentation for this class was generated from the following file:
dvutil-0.13.15 [30 December, 2004]