# FoundationClasses
TKernel
NCollection

# FoundationClasses
TKernel
NCollection

# NCollection_Set< TheItemType > Class Template Reference

`#include <NCollection_Set.hxx>`

Inheritance diagram for NCollection_Set< TheItemType >:

[legend]

## Public Types

typedef NCollection_TListNode< TheItemType > | SetNode
typedef NCollection_TListIterator< TheItemType > | Iterator

## Public Member Functions

| NCollection_Set (const Handle(NCollection_BaseAllocator)&theAllocator=0L)
| Constructor.
| NCollection_Set (const NCollection_Set &theOther)
| Copy constructor.
virtual Standard_Integer | Size (void) const
| Size - Number of items.
virtual void | Assign (const NCollection_BaseCollection< TheItemType > &theOther)
| Replace this list by the items of theOther collection.
NCollection_Set & | operator= (const NCollection_Set &theOther)
| Replace this list by the items of theOther Set.
void | Clear (void)
| Clear this set.
Standard_Boolean | Add (const TheItemType &theItem)
| Add item.
Standard_Boolean | Remove (const TheItemType &theItem)
| Remove item.
void | Remove (Iterator &theIter)
| Remove - wrapper against 'hiding' warnings.
Standard_Boolean | Contains (const TheItemType &theItem) const
| Contains - item inclusion query.
Standard_Boolean | IsASubset (const NCollection_Set &theOther)
| IsASubset.
Standard_Boolean | IsAProperSubset (const NCollection_Set &theOther)
| IsAProperSubset.
void | Union (const NCollection_Set &theOther)
| Union.
void | Intersection (const NCollection_Set &theOther)
| Intersection.
void | Difference (const NCollection_Set &theOther)
| Difference (Subtraction).
| ~NCollection_Set (void)
| Destructor - clears the List.

## Private Member Functions

virtual TYPENAME NCollection_BaseCollection< TheItemType >::Iterator & | CreateIterator (void) const
| Creates Iterator for use on BaseCollection.

## Detailed Description

### template<class TheItemType>
class NCollection_Set< TheItemType >

Purpose: A set is an unordered collection of items without duplications. To test for duplications the operators == and != are used on the items. Inherits BaseList, adding the data item to each node.

## Member Typedef Documentation

template<class TheItemType>
typedef NCollection_TListIterator<TheItemType> NCollection_Set< TheItemType >::Iterator

| Reimplemented from NCollection_BaseList.

template<class TheItemType>
typedef NCollection_TListNode<TheItemType> NCollection_Set< TheItemType >::SetNode

## Constructor & Destructor Documentation

template<class TheItemType>
NCollection_Set< TheItemType >::NCollection_Set | ( | const Handle(NCollection_BaseAllocator)& | theAllocator = `0L` | ) | `[inline]`

template<class TheItemType>
NCollection_Set< TheItemType >::NCollection_Set | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
NCollection_Set< TheItemType >::~NCollection_Set | ( | void |  | ) | `[inline]`

## Member Function Documentation

template<class TheItemType>
Standard_Boolean NCollection_Set< TheItemType >::Add | ( | const TheItemType & | theItem | ) | `[inline]`

template<class TheItemType>
virtual void NCollection_Set< TheItemType >::Assign | ( | const NCollection_BaseCollection< TheItemType > & | theOther | ) | `[inline, virtual]`

template<class TheItemType>
void NCollection_Set< TheItemType >::Clear | ( | void |  | ) | `[inline]`

template<class TheItemType>
Standard_Boolean NCollection_Set< TheItemType >::Contains | ( | const TheItemType & | theItem | ) | const`[inline]`

template<class TheItemType>
virtual TYPENAME NCollection_BaseCollection<TheItemType>::Iterator& NCollection_Set< TheItemType >::CreateIterator | ( | void |  | ) | const`[inline, private, virtual]`

| Implements NCollection_BaseCollection< TheItemType >.

template<class TheItemType>
void NCollection_Set< TheItemType >::Difference | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
void NCollection_Set< TheItemType >::Intersection | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
Standard_Boolean NCollection_Set< TheItemType >::IsAProperSubset | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
Standard_Boolean NCollection_Set< TheItemType >::IsASubset | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
NCollection_Set& NCollection_Set< TheItemType >::operator= | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

template<class TheItemType>
void NCollection_Set< TheItemType >::Remove | ( | Iterator & | theIter | ) | `[inline]`

template<class TheItemType>
Standard_Boolean NCollection_Set< TheItemType >::Remove | ( | const TheItemType & | theItem | ) | `[inline]`

template<class TheItemType>
virtual Standard_Integer NCollection_Set< TheItemType >::Size | ( | void |  | ) | const`[inline, virtual]`

| Implements NCollection_BaseCollection< TheItemType >.

template<class TheItemType>
void NCollection_Set< TheItemType >::Union | ( | const NCollection_Set< TheItemType > & | theOther | ) | `[inline]`

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

- NCollection_Set.hxx