A class that imitates std::pair<T, U>, but whose template arguments are homogeneous and the stored values ordered (.first < .second). More...
#include <OrderedPair.h>
Public Types | |
Types | |
using | value_type = T |
Type of stored elements. | |
using | iterator = T * |
Iterator type. | |
using | const_iterator = const T * |
Const iterator type. | |
Public Member Functions | |
template<typename UnaryFunction > | |
auto | map (UnaryFunction &&mapFunction) const |
Map the pair into an unordered std::pair. | |
Constructors | |
constexpr | OrderedPair ()=default |
Default constructor. | |
constexpr | OrderedPair (T a, T b) |
Reordering pair initializer. | |
Element access | |
constexpr T | front () const |
constexpr T & | front () |
constexpr T | back () const |
constexpr T & | back () |
Iterators | |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
Operators | |
constexpr auto | tie () const |
Yields the result of std::tie(first, second) | |
Public Member Functions inherited from Scine::Molassembler::Temple::Crtp::LexicographicComparable< OrderedPair< T > > | |
constexpr bool | operator== (const LexicographicComparable &other) const |
constexpr bool | operator!= (const LexicographicComparable &other) const |
constexpr bool | operator< (const LexicographicComparable &other) const |
constexpr bool | operator<= (const LexicographicComparable &other) const |
constexpr bool | operator> (const LexicographicComparable &other) const |
constexpr bool | operator>= (const LexicographicComparable &other) const |
Data Fields | |
State | |
T | first |
First element of the pair. | |
T | second |
Second element of the pair. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Scine::Molassembler::Temple::Crtp::LexicographicComparable< OrderedPair< T > > | |
static constexpr const OrderedPair< T > & | derived (const LexicographicComparable &base) |
A class that imitates std::pair<T, U>, but whose template arguments are homogeneous and the stored values ordered (.first < .second).