Class Query::Participants

Nested Relationships

This class is a nested type of Class Query.

Nested Types

Class Documentation

class Participants

A class to describe a filter on which schedule participants to pay attention to.

Public Types

enum class Mode : uint16_t

Values:

enumerator Invalid

Invalid mode, behavior is undefined.

enumerator All

Get all participants.

enumerator Include

Get only the participants listed.

enumerator Exclude

Get all participants except the ones listed.

Public Functions

Participants()

Default constructor, uses All mode.

Mode get_mode() const

Get the mode for this Participants filter.

All *all()

Get the All interface if this Participants filter is in All mode, otherwise get a nullptr.

const All *all() const

const-qualified all()

Include *include()

Get the Include interface if this Participants filter is in Include mode, otherwise get a nullptr.

const Include *include() const

const-qualified include()

Participants &include(std::vector<ParticipantId> ids)

Change this filter to Include mode, and include the specified participant IDs.

Exclude *exclude()

Get the Exclude interface if this Participants filter is in Exclude mode, otherwise get a nullptr.

const Exclude *exclude() const

const-qualified exclude()

Participants &exclude(std::vector<ParticipantId> ids)

Change this filter to Exclude mode, and exclude the specified participant IDs.

Public Static Functions

static const Participants &make_all()

Constructor to use All mode.

static Participants make_only(std::vector<ParticipantId> ids)

Constructor to use Include mode.

Parameters:

ids[in] The IDs of the participants that should be included in the query.

static Participants make_all_except(std::vector<ParticipantId> ids)

Constructor to use Exclude mode.

Parameters:

ids[in] The IDs of the participants that should be excluded from the query.

class All

This is a placeholder class in case we ever want to extend the features of the All mode.

class Exclude

The interface for the Participants::Exclude mode.

Public Functions

Exclude(std::vector<ParticipantId> ids)

Constructor.

const std::vector<ParticipantId> &get_ids() const

Get the IDs of the participants that should be excluded.

Exclude &set_ids(std::vector<ParticipantId> ids)

Set the IDs of the participants that should be excluded.

class Include

The interface for the Participants::Include mode.

Public Functions

Include(std::vector<ParticipantId> ids)

Constructor.

const std::vector<ParticipantId> &get_ids() const

Get the IDs of the participants that should be included.

Include &set_ids(std::vector<ParticipantId> ids)

Set the IDs of the participants that should be included.