mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes
m::sorted_vector< T, Compare > Struct Template Reference

A sorted list of elements. More...

#include <ADT.hpp>

Collaboration diagram for m::sorted_vector< T, Compare >:
[legend]

Public Types

using vector_type = std::vector< T >
 the type of the internal container of elements
 
using value_type = T
 
using size_type = typename vector_type::size_type
 

Public Member Functions

 sorted_vector (Compare comp=Compare())
 
auto begin ()
 
auto end ()
 
auto begin () const
 
auto end () const
 
auto cbegin () const
 
auto cend () const
 
auto empty () const
 Returns true iff the sorted_vector has no elements.
 
auto size () const
 Returns the number of elements in this sorted_vector.
 
auto reserve (size_type new_cap)
 Reserves space for new_cap elements in this sorted_vector.
 
bool contains (const T &value) const
 Returns true iff this sorted_vector contains an element that is equal to value.
 
auto insert (T value)
 Inserts value into this sorted_vector.
 
template<typename InsertIt >
void insert (InsertIt first, InsertIt last)
 Inserts elements in the range from first (including) to last (excluding) into this `sorted_vector.
 

Private Attributes

Compare comp_
 
vector_type v_
 the internal container of elements
 

Detailed Description

template<typename T, typename Compare = std::less<T>>
struct m::sorted_vector< T, Compare >

A sorted list of elements.

Allows duplicates.

Definition at line 783 of file ADT.hpp.

Member Typedef Documentation

◆ size_type

template<typename T , typename Compare = std::less<T>>
using m::sorted_vector< T, Compare >::size_type = typename vector_type::size_type

Definition at line 787 of file ADT.hpp.

◆ value_type

template<typename T , typename Compare = std::less<T>>
using m::sorted_vector< T, Compare >::value_type = T

Definition at line 786 of file ADT.hpp.

◆ vector_type

template<typename T , typename Compare = std::less<T>>
using m::sorted_vector< T, Compare >::vector_type = std::vector<T>

the type of the internal container of elements

Definition at line 785 of file ADT.hpp.

Constructor & Destructor Documentation

◆ sorted_vector()

template<typename T , typename Compare = std::less<T>>
m::sorted_vector< T, Compare >::sorted_vector ( Compare  comp = Compare())
inline

Definition at line 794 of file ADT.hpp.

Member Function Documentation

◆ begin() [1/2]

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::begin ( )
inline

◆ begin() [2/2]

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::begin ( ) const
inline

Definition at line 798 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ cbegin()

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::cbegin ( ) const
inline

Definition at line 800 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ cend()

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::cend ( ) const
inline

Definition at line 801 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ contains()

template<typename T , typename Compare = std::less<T>>
bool m::sorted_vector< T, Compare >::contains ( const T value) const
inline

Returns true iff this sorted_vector contains an element that is equal to value.

Definition at line 811 of file ADT.hpp.

References m::and, m::sorted_vector< T, Compare >::begin(), m::sorted_vector< T, Compare >::comp_, and m::sorted_vector< T, Compare >::end().

◆ empty()

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::empty ( ) const
inline

Returns true iff the sorted_vector has no elements.

Definition at line 804 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ end() [1/2]

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::end ( )
inline

◆ end() [2/2]

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::end ( ) const
inline

Definition at line 799 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ insert() [1/2]

template<typename T , typename Compare = std::less<T>>
template<typename InsertIt >
void m::sorted_vector< T, Compare >::insert ( InsertIt  first,
InsertIt  last 
)
inline

Inserts elements in the range from first (including) to last (excluding) into this `sorted_vector.

Definition at line 821 of file ADT.hpp.

References m::sorted_vector< T, Compare >::insert().

◆ insert() [2/2]

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::insert ( T  value)
inline

Inserts value into this sorted_vector.

Returns an iterator pointing to the inserted element.

Definition at line 817 of file ADT.hpp.

References m::sorted_vector< T, Compare >::begin(), m::sorted_vector< T, Compare >::comp_, m::sorted_vector< T, Compare >::end(), and m::sorted_vector< T, Compare >::v_.

Referenced by m::sorted_vector< T, Compare >::insert().

◆ reserve()

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::reserve ( size_type  new_cap)
inline

Reserves space for new_cap elements in this sorted_vector.

Definition at line 808 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

◆ size()

template<typename T , typename Compare = std::less<T>>
auto m::sorted_vector< T, Compare >::size ( ) const
inline

Returns the number of elements in this sorted_vector.

Definition at line 806 of file ADT.hpp.

References m::sorted_vector< T, Compare >::v_.

Field Documentation

◆ comp_

template<typename T , typename Compare = std::less<T>>
Compare m::sorted_vector< T, Compare >::comp_
private

◆ v_

template<typename T , typename Compare = std::less<T>>
vector_type m::sorted_vector< T, Compare >::v_
private

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