• Skip to content
  • Skip to link menu
KDE 4.8 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • KDE Home
  • Contact Us
 

KCal Library

  • KCal
  • Duration
Public Types | Public Member Functions
KCal::Duration Class Reference

#include <duration.h>

List of all members.

Public Types

enum  Type { Seconds, Days }

Public Member Functions

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

Detailed Description

Represents a span of time measured in seconds or days.

A duration is a span of time measured in seconds or days. Construction can be done by specifying a stop and end time, or simply by specifying the number of seconds or days.

Much of the time, it does not matter whether a duration is specified in seconds or in days. But it does make a difference when a duration is used to define a time period encompassing a daylight saving time change.

Definition at line 52 of file duration.h.


Member Enumeration Documentation

enum KCal::Duration::Type

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 58 of file duration.h.


Constructor & Destructor Documentation

Duration::Duration ( )

Constructs a duration of 0 seconds.

Private class that helps to provide binary compatibility between releases.

Definition at line 54 of file duration.cpp.

Duration::Duration ( const KDateTime &  start,
const KDateTime &  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:
startis the time the duration begins.
endis the time the duration ends.

Definition at line 59 of file duration.cpp.

Duration::Duration ( const KDateTime &  start,
const KDateTime &  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:
startis the time the duration begins.
endis the time the duration ends.
typethe unit of time to use (seconds or days)

Definition at line 71 of file duration.cpp.

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

Constructs a duration with a number of seconds or days.

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

Definition at line 96 of file duration.cpp.

Duration::Duration ( const Duration &  duration)

Constructs a duration by copying another duration object.

Parameters:
durationis the duration to copy.

Definition at line 103 of file duration.cpp.

Duration::~Duration ( )

Destroys a duration.

Definition at line 108 of file duration.cpp.


Member Function Documentation

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 204 of file duration.cpp.

int Duration::asSeconds ( ) const

Returns the length of the duration in seconds.

Definition at line 199 of file duration.cpp.

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

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

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

Definition at line 183 of file duration.cpp.

bool Duration::isDaily ( ) const

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

Definition at line 194 of file duration.cpp.

Duration::operator bool ( ) const

Returns true if this duration is non-zero.

Definition at line 124 of file duration.cpp.

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

Returns true if this duration is zero.

Definition at line 129 of file duration.h.

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:
otheris the other duration to compare.

Definition at line 174 of file duration.h.

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

Multiplies a duration by a value.

Parameters:
valuevalue to multiply by
Returns:
resultant duration

Definition at line 233 of file duration.h.

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

Multiplies this duration by a value.

Parameters:
valuevalue to multiply by

Definition at line 171 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:
otherthe other duration to add
Returns:
combined duration

Definition at line 193 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:
otherthe other duration to add

Definition at line 148 of file duration.cpp.

Duration Duration::operator- ( ) const

Returns the negative of this duration.

Definition at line 161 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:
otherthe other duration to subtract
Returns:
difference in durations

Definition at line 218 of file duration.h.

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:
otherthe other duration to subtract

Definition at line 166 of file duration.cpp.

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

Divides a duration by a value.

Parameters:
valuevalue to divide by
Returns:
resultant duration

Definition at line 248 of file duration.h.

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

Divides this duration by a value.

Parameters:
valuevalue to divide by

Definition at line 177 of file duration.cpp.

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

Returns true if this duration is smaller than the other.

Parameters:
otheris the other duration to compare.

Definition at line 129 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:
otheris the other duration to compare.

Definition at line 141 of file duration.h.

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

Sets this duration equal to duration.

Parameters:
durationis the duration to copy.

Definition at line 113 of file duration.cpp.

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:
otherthe other duration to compare

Definition at line 138 of file duration.cpp.

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

Returns true if this duration is greater than the other.

Parameters:
otheris the other duration to compare.

Definition at line 148 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:
otheris the other duration to compare.

Definition at line 155 of file duration.h.

Duration::Type Duration::type ( ) const

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

Definition at line 189 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 209 of file duration.cpp.


The documentation for this class was generated from the following files:
  • duration.h
  • duration.cpp

KCal Library

Skip menu "KCal Library"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.7.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal