mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-11-03 21:49:32 +01:00 
			
		
		
		
	Support explicit operator bool
Fix for issue 596
This commit is contained in:
		
				
					committed by
					
						
						Phil Nash
					
				
			
			
				
	
			
			
			
						parent
						
							e134da2e10
						
					
				
				
					commit
					3f226c1999
				
			@@ -52,37 +52,37 @@ namespace Internal {
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsEqualTo> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs) {
 | 
			
		||||
            return opCast( lhs ) ==  opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) ==  opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsNotEqualTo> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs ) {
 | 
			
		||||
            return opCast( lhs ) != opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) != opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsLessThan> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs ) {
 | 
			
		||||
            return opCast( lhs ) < opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) < opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsGreaterThan> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs ) {
 | 
			
		||||
            return opCast( lhs ) > opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) > opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsGreaterThanOrEqualTo> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs ) {
 | 
			
		||||
            return opCast( lhs ) >= opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) >= opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
    template<typename T1, typename T2>
 | 
			
		||||
    struct Evaluator<T1, T2, IsLessThanOrEqualTo> {
 | 
			
		||||
        static bool evaluate( T1 const& lhs, T2 const& rhs ) {
 | 
			
		||||
            return opCast( lhs ) <= opCast( rhs );
 | 
			
		||||
            return bool( opCast( lhs ) <= opCast( rhs ) );
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user