libkcal

KCal::Duration Class Reference

This class represents a duration. More...

#include <duration.h>

List of all members.


Public Types

enum  Type { Seconds, Days }

Public Member Functions

 Duration ()
 Duration (const TQDateTime &start, const TQDateTime &end)
 Duration (const TQDateTime &start, const TQDateTime &end, Type type)
 Duration (int duration, Type type=Seconds)
 Duration (const Duration &duration)
Durationoperator= (const Duration &duration)
 operator bool () const
bool operator! () const
bool operator< (const Duration &other) const
bool operator<= (const Duration &other) const
bool operator> (const Duration &other) const
bool operator>= (const Duration &other) const
bool operator== (const Duration &other) const
bool operator!= (const Duration &other) const
Durationoperator+= (const Duration &other)
Duration operator+ (const Duration &other) const
Duration operator- () const
Durationoperator-= (const Duration &other)
Duration operator- (const Duration &other) const
Durationoperator*= (int value)
Duration operator* (int value) const
Durationoperator/= (int value)
Duration operator/ (int value) const
TQDateTime end (const TQDateTime &start) const
Type type () const
bool isDaily () const
int asSeconds () const
int asDays () const
int value () const

Detailed Description

This class represents a duration.

Definition at line 33 of file duration.h.


Member Enumeration Documentation

The unit of time used to define the duration.

Enumerator:
Seconds  duration is a number of seconds
Days  duration is a number of days

Definition at line 39 of file duration.h.


Constructor & Destructor Documentation

Duration::Duration (  ) 

Constructs a duration of 0 seconds.

Definition at line 26 of file duration.cpp.

Duration::Duration ( const TQDateTime &  start,
const TQDateTime &  end 
)

Constructs a duration from start to end.

If the time of day in start and end is equal, and their time specifications (i.e. time zone etc.) are the same, the duration will be set in terms of days. Otherwise, the duration will be set in terms of seconds.

Parameters:
start is the time the duration begins.
end is the time the duration ends.

Definition at line 31 of file duration.cpp.

Duration::Duration ( const TQDateTime &  start,
const TQDateTime &  end,
Type  type 
)

Constructs a duration from start to end.

If type is Days, and the time of day in start's time zone differs between start and end, the duration will be rounded down to the nearest whole number of days.

Parameters:
start is the time the duration begins.
end is the time the duration ends.
type the unit of time to use (seconds or days)

Definition at line 42 of file duration.cpp.

Duration::Duration ( int  duration,
Type  type = Seconds 
)

Constructs a duration with a number of seconds or days.

Parameters:
duration the number of seconds or days in the duration
type the unit of time to use (seconds or days)

Definition at line 65 of file duration.cpp.

Duration::Duration ( const Duration duration  ) 

Constructs a duration by copying another duration object.

Parameters:
duration is the duration to copy.

Definition at line 71 of file duration.cpp.


Member Function Documentation

Duration & Duration::operator= ( const Duration duration  ) 

Sets this duration equal to duration.

Parameters:
duration is the duration to copy.

Definition at line 77 of file duration.cpp.

Duration::operator bool (  )  const

Returns true if this duration is non-zero.

Definition at line 90 of file duration.cpp.

bool KCal::Duration::operator! (  )  const [inline]

Returns true if this duration is zero.

Definition at line 105 of file duration.h.

bool Duration::operator< ( const Duration other  )  const

Returns true if this duration is smaller than the other.

Parameters:
other is the other duration to compare.

Definition at line 95 of file duration.cpp.

bool KCal::Duration::operator<= ( const Duration other  )  const [inline]

Returns true if this duration is smaller than or equal to the other.

Parameters:
other is the other duration to compare.

Definition at line 117 of file duration.h.

bool KCal::Duration::operator> ( const Duration other  )  const [inline]

Returns true if this duration is greater than the other.

Parameters:
other is the other duration to compare.

Definition at line 125 of file duration.h.

bool KCal::Duration::operator>= ( const Duration other  )  const [inline]

Returns true if this duration is greater than or equal to the other.

Parameters:
other is the other duration to compare.

Definition at line 132 of file duration.h.

bool Duration::operator== ( const Duration other  )  const

Returns true if this duration is equal to the other.

Daily and non-daily durations are always considered unequal, since a day's duration may differ from 24 hours if it happens to span a daylight saving time change.

Parameters:
other the other duration to compare

Definition at line 104 of file duration.cpp.

bool KCal::Duration::operator!= ( const Duration other  )  const [inline]

Returns true if this duration is not equal to the other.

Daily and non-daily durations are always considered unequal, since a day's duration may differ from 24 hours if it happens to span a daylight saving time change.

Parameters:
other is the other duration to compare.

Definition at line 151 of file duration.h.

Duration & Duration::operator+= ( const Duration other  ) 

Adds another duration to this one.

If one is in terms of days and the other in terms of seconds, the result is in terms of seconds.

Parameters:
other the other duration to add

Definition at line 115 of file duration.cpp.

Duration KCal::Duration::operator+ ( const Duration other  )  const [inline]

Adds two durations.

If one is in terms of days and the other in terms of seconds, the result is in terms of seconds.

Parameters:
other the other duration to add
Returns:
combined duration

Definition at line 170 of file duration.h.

Duration Duration::operator- (  )  const

Returns the negative of this duration.

Definition at line 128 of file duration.cpp.

Duration & Duration::operator-= ( const Duration other  ) 

Subtracts another duration from this one.

If one is in terms of days and the other in terms of seconds, the result is in terms of seconds.

Parameters:
other the other duration to subtract

Definition at line 133 of file duration.cpp.

Duration KCal::Duration::operator- ( const Duration other  )  const [inline]

Returns the difference between another duration and this.

If one is in terms of days and the other in terms of seconds, the result is in terms of seconds.

Parameters:
other the other duration to subtract
Returns:
difference in durations

Definition at line 195 of file duration.h.

Duration & Duration::operator*= ( int  value  ) 

Multiplies this duration by a value.

Parameters:
value value to multiply by

Definition at line 138 of file duration.cpp.

Duration KCal::Duration::operator* ( int  value  )  const [inline]

Multiplies a duration by a value.

Parameters:
value value to multiply by
Returns:
resultant duration

Definition at line 210 of file duration.h.

Duration & Duration::operator/= ( int  value  ) 

Divides this duration by a value.

Parameters:
value value to divide by

Definition at line 144 of file duration.cpp.

Duration KCal::Duration::operator/ ( int  value  )  const [inline]

Divides a duration by a value.

Parameters:
value value to divide by
Returns:
resultant duration

Definition at line 225 of file duration.h.

TQDateTime Duration::end ( const TQDateTime &  start  )  const

Computes a duration end time by adding the number of seconds or days in the duration to the specified start time.

Parameters:
start is the start time.
Returns:
end time.

Definition at line 150 of file duration.cpp.

Duration::Type Duration::type (  )  const

Returns the time units (seconds or days) used to specify the duration.

Definition at line 155 of file duration.cpp.

bool Duration::isDaily (  )  const

Returns whether the duration is specified in terms of days rather than seconds.

Definition at line 160 of file duration.cpp.

int Duration::asSeconds (  )  const

Returns the length of the duration in seconds.

Definition at line 165 of file duration.cpp.

int Duration::asDays (  )  const

Returns the length of the duration in days.

If the duration is not an exact number of days, it is rounded down to return the number of whole days.

Definition at line 170 of file duration.cpp.

int Duration::value (  )  const

Returns the length of the duration in seconds or days.

Returns:
if isDaily(), duration in days, else duration in seconds

Definition at line 175 of file duration.cpp.


The documentation for this class was generated from the following files: