KCalendarCore::Duration

Search for usage in LXR

KCalendarCore::Duration Class Reference

#include <duration.h>

Public Types

enum  Type { Seconds , Days }
 

Public Member Functions

 Duration ()
 
 Duration (const Duration &duration)
 
 Duration (const QDateTime &start, const QDateTime &end)
 
 Duration (const QDateTime &start, const QDateTime &end, Type type)
 
 Duration (int duration, Type type=Seconds)
 
 ~Duration ()
 
int asDays () const
 
int asSeconds () const
 
QDateTime end (const QDateTime &start) const
 
bool isDaily () const
 
bool isNull () const
 
 operator bool () const
 
bool operator! () const
 
bool operator!= (const Duration &other) const
 
Duration operator* (int value) const
 
Durationoperator*= (int value)
 
Duration operator+ (const Duration &other) const
 
Durationoperator+= (const Duration &other)
 
Duration operator- () const
 
Duration operator- (const Duration &other) const
 
Durationoperator-= (const Duration &other)
 
Duration operator/ (int value) const
 
Durationoperator/= (int value)
 
bool operator< (const Duration &other) const
 
bool operator<= (const Duration &other) const
 
Durationoperator= (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 43 of file duration.h.

Member Enumeration Documentation

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

Constructor & Destructor Documentation

◆ Duration() [1/5]

Duration::Duration ( )

Constructs a duration of 0 seconds.

Private class that helps to provide binary compatibility between releases.

Definition at line 44 of file duration.cpp.

◆ Duration() [2/5]

Duration::Duration ( const QDateTime & start,
const QDateTime & 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 49 of file duration.cpp.

◆ Duration() [3/5]

Duration::Duration ( const QDateTime & start,
const QDateTime & 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 61 of file duration.cpp.

◆ Duration() [4/5]

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

◆ Duration() [5/5]

Duration::Duration ( const Duration & duration)

Constructs a duration by copying another duration object.

Parameters
durationis the duration to copy.

Definition at line 93 of file duration.cpp.

◆ ~Duration()

Duration::~Duration ( )

Destroys a duration.

Definition at line 98 of file duration.cpp.

Member Function Documentation

◆ asDays()

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

◆ asSeconds()

int Duration::asSeconds ( ) const

Returns the length of the duration in seconds.

Definition at line 186 of file duration.cpp.

◆ end()

QDateTime Duration::end ( const QDateTime & 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 171 of file duration.cpp.

◆ isDaily()

bool Duration::isDaily ( ) const

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

Definition at line 181 of file duration.cpp.

◆ isNull()

bool Duration::isNull ( ) const

Returns true if the duration is 0 seconds.

Definition at line 201 of file duration.cpp.

◆ operator bool()

Duration::operator bool ( ) const

Returns true if this duration is non-zero.

Definition at line 114 of file duration.cpp.

◆ operator!()

bool KCalendarCore::Duration::operator! ( ) const
inline

Returns true if this duration is zero.

Definition at line 121 of file duration.h.

◆ operator!=()

bool KCalendarCore::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 175 of file duration.h.

◆ operator*()

Duration KCalendarCore::Duration::operator* ( int value) const
inline

Multiplies a duration by a value.

Parameters
valuevalue to multiply by
Returns
resultant duration

Definition at line 240 of file duration.h.

◆ operator*=()

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

Multiplies this duration by a value.

Parameters
valuevalue to multiply by

Definition at line 159 of file duration.cpp.

◆ operator+()

Duration KCalendarCore::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 196 of file duration.h.

◆ operator+=()

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

◆ operator-() [1/2]

Duration Duration::operator- ( ) const

Returns the negative of this duration.

Definition at line 149 of file duration.cpp.

◆ operator-() [2/2]

Duration KCalendarCore::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 223 of file duration.h.

◆ operator-=()

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

◆ operator/()

Duration KCalendarCore::Duration::operator/ ( int value) const
inline

Divides a duration by a value.

Parameters
valuevalue to divide by
Returns
resultant duration

Definition at line 257 of file duration.h.

◆ operator/=()

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

Divides this duration by a value.

Parameters
valuevalue to divide by

Definition at line 165 of file duration.cpp.

◆ operator<()

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

◆ operator<=()

bool KCalendarCore::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 136 of file duration.h.

◆ operator=()

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

Sets this duration equal to duration.

Parameters
durationis the duration to copy.

Definition at line 103 of file duration.cpp.

◆ operator==()

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

◆ operator>()

bool KCalendarCore::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 145 of file duration.h.

◆ operator>=()

bool KCalendarCore::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 154 of file duration.h.

◆ type()

Duration::Type Duration::type ( ) const

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

Definition at line 176 of file duration.cpp.

◆ value()

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


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:13:47 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.