Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions | Static Public Member Functions | Friends

bdlt::DayOfWeekSet Class Reference

#include <bdlt_dayofweekset.h>

List of all members.

Public Types

typedef DayOfWeekSet_Iter iterator
typedef iterator const_iterator
typedef bsl::reverse_iterator
< iterator
reverse_iterator
typedef reverse_iterator const_reverse_iterator

Public Member Functions

 DayOfWeekSet ()
 DayOfWeekSet (const DayOfWeekSet &original)
 ~DayOfWeekSet ()
DayOfWeekSetoperator= (const DayOfWeekSet &rhs)
DayOfWeekSetoperator|= (const DayOfWeekSet &rhs)
DayOfWeekSetoperator&= (const DayOfWeekSet &rhs)
DayOfWeekSetoperator^= (const DayOfWeekSet &rhs)
DayOfWeekSetoperator-= (const DayOfWeekSet &rhs)
void add (DayOfWeek::Enum value)
bool remove (DayOfWeek::Enum value)
void removeAll ()
template<class STREAM >
STREAM & bdexStreamIn (STREAM &stream, int version)
bool areMembers (const DayOfWeekSet &set) const
iterator begin () const
iterator end () const
bool isEmpty () const
bool isMember (DayOfWeek::Enum value) const
int length () const
reverse_iterator rbegin () const
reverse_iterator rend () const
template<class STREAM >
STREAM & bdexStreamOut (STREAM &stream, int version) const
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const

Static Public Member Functions

static int maxSupportedBdexVersion (int versionSelector)
static int maxSupportedBdexVersion ()

Friends

bool operator== (const DayOfWeekSet &, const DayOfWeekSet &)
bool operator!= (const DayOfWeekSet &, const DayOfWeekSet &)
DayOfWeekSet operator~ (const DayOfWeekSet &)
template<class HASHALG >
void hashAppend (HASHALG &hashAlg, const DayOfWeekSet &)

Detailed Description

This class implements an efficient value-semantic, ordered set of DayOfWeek values. This set requires a fixed capacity, and all operations operate in constant time, and provide the no-throw guarantee.

See Component bdlt_dayofweekset


Member Typedef Documentation

typedef bsl::reverse_iterator<iterator> bdlt::DayOfWeekSet::reverse_iterator

Constructor & Destructor Documentation

bdlt::DayOfWeekSet::DayOfWeekSet (  ) 

Create an empty set.

bdlt::DayOfWeekSet::DayOfWeekSet ( const DayOfWeekSet original  ) 

Create a set initialized to the value of the specified original set.

bdlt::DayOfWeekSet::~DayOfWeekSet (  ) 

Destroy this object.


Member Function Documentation

static int bdlt::DayOfWeekSet::maxSupportedBdexVersion ( int  versionSelector  )  [static]

Return the maximum valid BDEX format version, as indicated by the specified versionSelector, to be passed to the bdexStreamOut method. Note that it is highly recommended that versionSelector be formatted as "YYYYMMDD", a date representation. Also note that versionSelector should be a compile-time-chosen value that selects a format version supported by both externalizer and unexternalizer. See the bslx package-level documentation for more information on BDEX streaming of value-semantic types and containers.

DayOfWeekSet& bdlt::DayOfWeekSet::operator= ( const DayOfWeekSet rhs  ) 

Assign to this set the value of the specified rhs set, and return a reference providing modifiable access to this set.

DayOfWeekSet& bdlt::DayOfWeekSet::operator|= ( const DayOfWeekSet rhs  ) 

Assign to this set the union of this set with the specified rhs set (i.e., a set containing elements that are in either this set or the rhs set, or in both sets), and return a reference providing modifiable access to this set.

DayOfWeekSet& bdlt::DayOfWeekSet::operator&= ( const DayOfWeekSet rhs  ) 

Assign to this set the intersection of this set with the specified rhs set (i.e., a set containing elements that are in both this set and the rhs set), and return a reference providing modifiable access to this set.

DayOfWeekSet& bdlt::DayOfWeekSet::operator^= ( const DayOfWeekSet rhs  ) 

Assign to this set the exclusive-or of this set with the specified rhs set (i.e., a set containing elements that are either in this set, but not rhs, or in rhs, but not in this set), and return a reference providing modifiable access to this set.

DayOfWeekSet& bdlt::DayOfWeekSet::operator-= ( const DayOfWeekSet rhs  ) 

Assign to this set the subtraction of the specified rhs set from this set (i.e., a set containing elements that are in this set, but not in the rhs set), and return a reference providing modifiable access to this set.

void bdlt::DayOfWeekSet::add ( DayOfWeek::Enum  value  ) 

Add the specified value to this set.

bool bdlt::DayOfWeekSet::remove ( DayOfWeek::Enum  value  ) 

Remove the specified value from this set. Return true if value was a member of this set, and false otherwise.

void bdlt::DayOfWeekSet::removeAll (  ) 

Remove all members of this set.

template<class STREAM >
STREAM& bdlt::DayOfWeekSet::bdexStreamIn ( STREAM &  stream,
int  version 
)

Assign to this object the value read from the specified input stream using the specified version format, and return a reference to stream. If stream is initially invalid, this operation has no effect. If version is not supported, this object is unaltered and stream is invalidated, but otherwise unmodified. If version is supported but stream becomes invalid during this operation, this object has an undefined, but valid, state. Note that no version is read from stream. See the bslx package-level documentation for more information on BDEX streaming of value-semantic types and containers.

bool bdlt::DayOfWeekSet::areMembers ( const DayOfWeekSet set  )  const

Return true if this set contains all elements of the specified set, and false otherwise.

iterator bdlt::DayOfWeekSet::begin (  )  const

Return an iterator referencing the first valid element in this set.

iterator bdlt::DayOfWeekSet::end (  )  const

Return an iterator indicating one position past the last possible element in this set.

bool bdlt::DayOfWeekSet::isEmpty (  )  const

Return true if there are no elements in this set, and false otherwise.

bool bdlt::DayOfWeekSet::isMember ( DayOfWeek::Enum  value  )  const

Return true if the specified value is an element of this set, and false otherwise.

int bdlt::DayOfWeekSet::length (  )  const

Return the number of elements in this set.

reverse_iterator bdlt::DayOfWeekSet::rbegin (  )  const

Return a reverse iterator referencing the last valid element in this set.

reverse_iterator bdlt::DayOfWeekSet::rend (  )  const

Return a reverse iterator indicating one position before the first possible element in this set.

template<class STREAM >
STREAM& bdlt::DayOfWeekSet::bdexStreamOut ( STREAM &  stream,
int  version 
) const

Write the value of this object, using the specified version format, to the specified output stream, and return a reference to stream. If stream is initially invalid, this operation has no effect. If version is not supported, stream is invalidated, but otherwise unmodified. Note that version is not written to stream. See the bslx package-level documentation for more information on BDEX streaming of value-semantic types and containers.

bsl::ostream& bdlt::DayOfWeekSet::print ( bsl::ostream &  stream,
int  level = 0,
int  spacesPerLevel = 4 
) const

Format this object to the specified output stream at the (absolute value of) the optionally specified indentation level, and return a reference to stream. If level is specified, optionally specify spacesPerLevel, the number of spaces per indentation level for this and all of its nested objects. If level is negative, suppress indentation of the first line. If spacesPerLevel is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level). If stream is not valid on entry, this operation has no effect.

static int bdlt::DayOfWeekSet::maxSupportedBdexVersion (  )  [static]

DEPRECATED: Use maxSupportedBdexVersion(int) instead.

Return the most current BDEX streaming version number supported by this class.


Friends And Related Function Documentation

bool operator== ( const DayOfWeekSet ,
const DayOfWeekSet  
) [friend]

Return true if the specified lhs and rhs sets have the same value, and false otherwise. Two sets have the same value if they have the same length and all the elements of one set are members of the other set.

bool operator!= ( const DayOfWeekSet ,
const DayOfWeekSet  
) [friend]

Return true if the specified lhs and rhs sets do not have the same value, and false otherwise. Two sets do not have the same value if they differ in length or there exists an element of one set that is not a member of the other set.

DayOfWeekSet operator~ ( const DayOfWeekSet  )  [friend]

Return a set containing the complement of the specified set (i.e., those members not contained in set).

template<class HASHALG >
void hashAppend ( HASHALG &  hashAlg,
const DayOfWeekSet  
) [friend]

Pass the specified object to the specified hashAlg. This function integrates with the bslh modular hashing system and effectively provides a bsl::hash specialization for DayOfWeekSet.


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