Skip to content
Snippets Groups Projects
Commit 4595bbe9 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

restrict variant compare operators

parent ca6b172b
No related branches found
No related tags found
1 merge request!74Merge jt
......@@ -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 {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment