From 4595bbe942bd9bcca44bde9e1ebda1318c43ca35 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Thu, 21 Mar 2019 16:35:21 +0100 Subject: [PATCH] restrict variant compare operators --- alib2std/src/extensions/container/variant.hpp | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/alib2std/src/extensions/container/variant.hpp b/alib2std/src/extensions/container/variant.hpp index 197a400504..5e014a9e04 100644 --- a/alib2std/src/extensions/container/variant.hpp +++ b/alib2std/src/extensions/container/variant.hpp @@ -1321,62 +1321,62 @@ std::string to_string ( const ext::variant < Ts ... > & value ) { return ( std::string ) value; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator < ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) < 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator > ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) > 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator <= ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) <= 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator >= ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) >= 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator == ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) == 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator != ( const ext::variant < Ts ... > & first, const T & second ) { return first.compare ( second ) != 0; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator < ( const T & first, const ext::variant < Ts ... > & second ) { return second > first; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator > ( const T & first, const ext::variant < Ts ... > & second ) { return second < first; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator <= ( const T & first, const ext::variant < Ts ... > & second ) { return second >= first; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator >= ( const T & first, const ext::variant < Ts ... > & second ) { return second <= first; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator == ( const T & first, const ext::variant < Ts ... > & second ) { return second == first; } -template < class ... Ts, class T > +template < class ... Ts, class T, typename std::enable_if < ext::is_in < T, Ts ... >::value >::type * = nullptr > bool operator != ( const T & first, const ext::variant < Ts ... > & second ) { return second != first; } @@ -1386,7 +1386,7 @@ bool operator != ( const T & first, const ext::variant < Ts ... > & second ) { * Class to help building of the variant type or, in case variant is requested to be constructed from single type or more types but all the same, that concrete type. * * \tparam Res the resulting contstructed variant - * \tparam Ts ... pack of types to construct the variant from + * \tparam Ts ... pack of types to construct the variant from */ template < class Res, class ... Ts > struct variant_builder_impl { -- GitLab