38 explicit PolyComp (
const T & inst ) : m_inst ( inst ) {
44 return first.m_inst <
second;
46 return std::type_index ( typeid ( T ) ) < std::type_index (
typeid ( R ) );
52 return first <
second.m_inst;
54 return std::type_index ( typeid ( R ) ) < std::type_index (
typeid ( T ) );
64template <
class ... Ts >
66 std::tuple <
const Ts & ... > m_data;
68 template <
class T,
size_t ... I >
73 template <
class T,
size_t ... I >
79 explicit SliceComp (
const Ts & ... data ) : m_data ( data ... ) {
84 return compare < T > ( first,
second, std::make_index_sequence <
sizeof ... ( Ts ) > { } );
89 return compare < T > ( first,
second, std::make_index_sequence <
sizeof ... ( Ts ) > { } );
94template <
class ... Ts >
113 using std::reference_wrapper < T >::reference_wrapper;
118 using std::reference_wrapper < T >::operator =;
143 using std::reference_wrapper < T >::operator T &;
154 return this->
get ( ) <=> other.get ( );
166 return this->
get ( ) == other.get ( );
Definition: functional.hpp:34
PolyComp(const T &inst)
Definition: functional.hpp:38
friend bool operator<(const PolyComp< T > &first, const R &second)
Definition: functional.hpp:42
Definition: functional.hpp:65
SliceComp(const Ts &... data)
Definition: functional.hpp:79
friend bool operator<(const SliceComp< Ts ... > &first, const T &second)
Definition: functional.hpp:83
Class extending the reference wrapper class from the standard library. Original reason is to allow it...
Definition: functional.hpp:108
reference_wrapper & operator=(const reference_wrapper &other)=default
auto operator<=>(const reference_wrapper< T > &other) const
Specialisation of less than operator for reference_wrapper vector.
Definition: functional.hpp:153
bool operator==(const reference_wrapper< T > &other) const
Specialisation of equals operator for reference_wrapper vector.
Definition: functional.hpp:165
reference_wrapper(const reference_wrapper &other)=default
p second
Definition: ToRegExpAlgebraic.h:126
Definition: AutomatonCompare.h:29
Definition: sigHandler.cpp:20
constexpr tuple< Elements &... > tie(Elements &... args) noexcept
Helper of extended tuple of references construction. The tuple is constructed to reffer to values in ...
Definition: tuple.hpp:218
SliceComp< Ts ... > slice_comp(const Ts &... inst)
Definition: functional.hpp:95
PolyComp< T > poly_comp(const T &inst)
Definition: functional.hpp:60
auto & get(ext::ptr_array< Type, N > &tpl)
Specialisation of get function for pointer arrays.
Definition: ptr_array.hpp:693
Definition: type_traits.hpp:77