Implementation of a set using ordered vector.
This class implements the interface of a set (the same interface as std::set) using ordered vector as the underlying data structure.
- Template Parameters:
Key – Key type: type of the elements contained in the container. Each elements in a set is also its key.
Public Functions
-
inline OrdVector difference(const OrdVector &rhs) const
Compute set difference as this minus rhs.
- Parameters:
rhs – Other vector with symbols to be excluded.
- Returns:
this minus rhs.
-
inline bool contains(const Key &key) const
Check whether key exists in the ordered vector.
-
inline size_t erase(const Key &k)
Remove k from sorted vector.
This function expects the vector to be sorted.
-
inline virtual reference back()
Get reference to the last element in the vector.
Modifying the underlying value in the reference could break sortedness.
Public Static Functions
-
static inline OrdVector with_reserved(const size_t capacity)
Create OrdVector with reserved capacity.
- Parameters:
capacity – [in] Capacity of OrdVector to reserve.
- Returns:
Newly create OrdVector.
Friends
-
inline friend std::ostream &operator<<(std::ostream &os, const OrdVector &vec)
Overloaded << operator.
Overloaded << operator for output stream.
- Parameters:
-
- Returns:
Modified output stream