KIMAP::ImapSet Class Reference

Represents a set of natural numbers (1->$\infty$) in a as compact as possible form. More...

#include <imapset.h>

List of all members.

Public Types

typedef qint64 Id

Public Member Functions

 ImapSet (const ImapSet &other)
 ImapSet (Id value)
 ImapSet (Id begin, Id end)
 ImapSet ()
 ~ImapSet ()
void add (const ImapInterval &interval)
void add (const QList< Id > &values)
void add (Id value)
ImapInterval::List intervals () const
bool isEmpty () const
ImapSetoperator= (const ImapSet &other)
bool operator== (const ImapSet &other) const
QByteArray toImapSequenceSet () const

Static Public Member Functions

static ImapSet fromImapSequenceSet (const QByteArray &sequence)

Detailed Description

Represents a set of natural numbers (1->$\infty$) in a as compact as possible form.

Used to address Akonadi items via the IMAP protocol or in the database. This class is implicitly shared.

Definition at line 140 of file imapset.h.


Member Typedef Documentation

typedef qint64 KIMAP::ImapSet::Id

Describes the ids stored in the set.

Definition at line 146 of file imapset.h.


Constructor & Destructor Documentation

ImapSet::ImapSet (  ) 

Constructs an empty set.

Definition at line 181 of file imapset.cpp.

ImapSet::ImapSet ( Id  begin,
Id  end 
)

Constructs a set containing a single interval.

Definition at line 186 of file imapset.cpp.

ImapSet::ImapSet ( Id  value  )  [explicit]

Constructs a set containing a single value.

Definition at line 192 of file imapset.cpp.

ImapSet::ImapSet ( const ImapSet other  ) 

Copy constructor.

Definition at line 198 of file imapset.cpp.

ImapSet::~ImapSet (  ) 

Destructor.

Definition at line 203 of file imapset.cpp.


Member Function Documentation

void ImapSet::add ( const ImapInterval interval  ) 

Adds the given ImapInterval to this set.

No interval merging is performed.

Definition at line 257 of file imapset.cpp.

void ImapSet::add ( const QList< Id > &  values  ) 

Adds the given list of positive integer numbers to the set.

The list is sorted and splitted into as large as possible intervals. No interval merging is performed.

Parameters:
values List of positive integer numbers in arbitrary order

Definition at line 234 of file imapset.cpp.

void ImapSet::add ( Id  value  ) 

Adds a single positive integer numbers to the set.

The list is sorted and splitted into as large as possible intervals. No interval merging is performed.

Parameters:
value A positive integer number

Definition at line 229 of file imapset.cpp.

ImapSet ImapSet::fromImapSequenceSet ( const QByteArray &  sequence  )  [static]

Return the set corresponding to the given IMAP-compatible QByteArray representation.

Definition at line 283 of file imapset.cpp.

ImapInterval::List ImapSet::intervals (  )  const

Returns the intervals this set consists of.

Definition at line 298 of file imapset.cpp.

bool ImapSet::isEmpty (  )  const

Returns true if this set doesn't contains any values.

Definition at line 303 of file imapset.cpp.

ImapSet & ImapSet::operator= ( const ImapSet other  ) 

Assignment operator.

Definition at line 207 of file imapset.cpp.

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

Comparison operator.

Definition at line 214 of file imapset.cpp.

QByteArray ImapSet::toImapSequenceSet (  )  const

Returns a IMAP-compatible QByteArray representation of this set.

Definition at line 262 of file imapset.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys