FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEset Class Referencefinal

Implements an ordered list of OMEtype elements. More...

#include <OMEset.h>

+ Inheritance diagram for OMEset:

Public Member Functions

 OMEset ()
 
 OMEset (const OMEset &org)
 
 ~OMEset ()
 
OMEsetoperator= (const OMEset &arg)
 
bool operator== (const OMEset &arg) const
 
bool operator!= (const OMEset &arg) const
 
bool operator== (const OMEtype &arg) const
 
bool operator!= (const OMEtype &arg) const
 
OMEsetdeepCopy () const
 
OMEsetoperator+= (const OMEtype &item)
 Add element as-is into set. If the element is a set, it is added as a single element. More...
 
OMEsetoperator-= (const OMEtype &item)
 Remove element from set. More...
 
OMEsetoperator|= (const OMEtype &item)
 Add element to set. If new element is a set, each individual element of the set is added. More...
 
OMEsetoperator&= (const OMEtype &item)
 Set intersection. Returns elements that are in both sets. More...
 
OMEsetoperator+ (const OMEtype &item) const
 
OMEsetoperator- (const OMEtype &item) const
 
OMEsetoperator| (const OMEtype &item) const
 
OMEsetoperator& (const OMEtype &item) const
 
OMEtypenextElement ()
 Iterate over a set by retrieving the next element. More...
 
void resetIterator ()
 Reset the internal iterator to the beginning of the list. More...
 
uint32_t elementCount () const OME_ALWAYS_INLINE
 Returns the number of elements in the set. More...
 
uint32_t isEmpty () const OME_ALWAYS_INLINE
 
bool elementExists (const OMEtype &elem) const OME_ALWAYS_INLINE
 Returns a Boolean indication if an indicated OMEtype element is present within the set. More...
 
template<typename STREAMTYPE >
STREAMTYPE & outputOnStream (STREAMTYPE &outputStream, int_fast16_t indent=0, uint8_t includeTypePrefix=OME_DEFAULT_COMPLEX_OUTPUT_MODE) const
 Output an OMEset to an output stream. More...
 
- Public Member Functions inherited from OMEreferenceToData< OMEsetStorage >
void getUniqueReference ()
 Force unique reference to the data, which will trigger duplication if necessary (copy-on-write). More...
 
int_fast32_t totalReferences () const OME_ALWAYS_INLINE
 Get current reference total. More...
 

Private Member Functions

 OMEset (OMEsetStorage *s)
 

Private Attributes

_STD deque< OMEbaseTypeP >::const_iterator * iterator
 

Additional Inherited Members

- Protected Member Functions inherited from OMEreferenceToData< OMEsetStorage >
void addReadOnlyReference () OME_ALWAYS_INLINE
 
void dropReference (OMEsetStorage *newData=nullptr) OME_ALWAYS_INLINE
 
 OMEreferenceToData ()
 
 OMEreferenceToData (OMEsetStorage *existingData) NONNULL_CLASS_PARAMETERS(2)
 
 OMEreferenceToData (const OMEreferenceToData< OMEsetStorage > &org)
 
virtual ~OMEreferenceToData ()
 
- Protected Attributes inherited from OMEreferenceToData< OMEsetStorage >
OMEsetStoragedata
 

Detailed Description

Implements an ordered list of OMEtype elements.

Note
Copy-on-write implementation.

Constructor & Destructor Documentation

◆ OMEset() [1/3]

OMEset::OMEset ( OMEsetStorage s)
inlineexplicitprivate

References s.

◆ OMEset() [2/3]

OMEset::OMEset ( )
inline

◆ OMEset() [3/3]

OMEset::OMEset ( const OMEset org)
inlineexplicit

◆ ~OMEset()

OMEset::~OMEset ( )
inline

References OME_DELETE_OBJECT.

Member Function Documentation

◆ deepCopy()

OMEset* OMEset::deepCopy ( ) const
inline

◆ elementCount()

OMEset::elementCount ( ) const
inline

Returns the number of elements in the set.

Referenced by debugDisplay(), debugDisplayAsHex(), elementCount(), and logOutput().

◆ elementExists()

OMEset::elementExists ( const OMEtype elem) const
inline

Returns a Boolean indication if an indicated OMEtype element is present within the set.

Referenced by indexExists().

◆ isEmpty()

uint32_t OMEset::isEmpty ( ) const
inline

Referenced by isEmpty().

◆ nextElement()

OMEtype * OMEset::nextElement ( )

Iterate over a set by retrieving the next element.

If the internal iterator has not be initialized, a call to resetIterator() is automatically performed.

Returns
If the end of the list is reached, a null pointer (0) is returned; otherwise a pointer to the element is returned.

References OMEreferenceToData< OMEsetStorage >::data, OMEsetStorage::dataSet, iterator, and resetIterator().

Referenced by calculateStringLength(), OMEthread::callMethodWithSetArgument(), createACLthatAllowsOthers(), createACLthatDisallowsOthers(), createNewOIDthatOnlyAllowsOthers(), debugDisplay(), debugDisplayAsHex(), execProcess(), logOutput(), makeAsString(), mergeArrays(), OILnextIterator(), OMEsetStorage::operator|=(), OMEthread::sendMessageWithSetArgument(), setToArray(), skipAndOutputSetToStream(), and skipAndOutputSetToStreamAsHex().

◆ operator!=() [1/2]

bool OMEset::operator!= ( const OMEset arg) const
inline

◆ operator!=() [2/2]

bool OMEset::operator!= ( const OMEtype arg) const

References OME_SET.

◆ operator&()

OMEset* OMEset::operator& ( const OMEtype item) const
inline

◆ operator&=()

OMEset::operator&= ( const OMEtype item)
inline

Set intersection. Returns elements that are in both sets.

References OMEreferenceToData< C >::getUniqueReference(), and OME_DELETE_OBJECT.

◆ operator+()

OMEset* OMEset::operator+ ( const OMEtype item) const
inline

◆ operator+=()

OMEset::operator+= ( const OMEtype item)
inline

Add element as-is into set. If the element is a set, it is added as a single element.

References OMEreferenceToData< C >::getUniqueReference(), and OME_DELETE_OBJECT.

◆ operator-()

OMEset* OMEset::operator- ( const OMEtype item) const
inline

◆ operator-=()

OMEset::operator-= ( const OMEtype item)
inline

Remove element from set.

References OMEreferenceToData< C >::getUniqueReference(), and OME_DELETE_OBJECT.

◆ operator=()

◆ operator==() [1/2]

bool OMEset::operator== ( const OMEset arg) const
inline

◆ operator==() [2/2]

bool OMEset::operator== ( const OMEtype arg) const

References OME_SET.

◆ operator|()

OMEset* OMEset::operator| ( const OMEtype item) const
inline

◆ operator|=()

OMEset::operator|= ( const OMEtype item)
inline

Add element to set. If new element is a set, each individual element of the set is added.

References OMEreferenceToData< C >::getUniqueReference(), and OME_DELETE_OBJECT.

◆ outputOnStream()

template<typename STREAMTYPE >
STREAMTYPE& OMEset::outputOnStream ( STREAMTYPE &  outputStream,
int_fast16_t  indent = 0,
uint8_t  includeTypePrefix = OME_DEFAULT_COMPLEX_OUTPUT_MODE 
) const
inline

Output an OMEset to an output stream.

Parameters
outputStreamis a reference to an output stream.
indentspecifies the number of spaces to indent before beginning output. If negative, no indent is performed for the first line, but subsequent lines are indented based on the absolute value of indent.
includeTypePrefixis a mask of flags indicating if type names should prefix data elements, if strings should be enclosed in quotes, etc.

Referenced by operator<<().

◆ resetIterator()

Member Data Documentation

◆ iterator

_STD deque<OMEbaseTypeP>::const_iterator* OMEset::iterator
private

Referenced by nextElement(), and resetIterator().


The documentation for this class was generated from the following files:
Generated: Fri Jul 31 2020 18:19:16
Support Information