| /*********************************************************************************** |
| ThrowCompare.h |
| |
| Interface for the ThrowCompare class |
| |
| * Copyright (c) 1997 |
| * Mark of the Unicorn, Inc. |
| * |
| * Permission to use, copy, modify, distribute and sell this software |
| * and its documentation for any purpose is hereby granted without fee, |
| * provided that the above copyright notice appear in all copies and |
| * that both that copyright notice and this permission notice appear |
| * in supporting documentation. Mark of the Unicorn makes no |
| * representations about the suitability of this software for any |
| * purpose. It is provided "as is" without express or implied warranty. |
| |
| ***********************************************************************************/ |
| #ifndef ThrowCompare_H_ |
| #define ThrowCompare_H_ |
| |
| #include "Prefix.h" |
| #include "TestClass.h" |
| |
| struct ThrowCompare { |
| bool operator()( const TestClass& a, const TestClass& b ) const { |
| simulate_possible_failure(); |
| return a < b; |
| } |
| }; |
| |
| |
| struct ThrowEqual { |
| inline bool operator()( const TestClass& a, const TestClass& b ) const { |
| simulate_possible_failure(); |
| return a == b; |
| } |
| }; |
| |
| struct ThrowHash { // : private ThrowCompare |
| inline EH_CSTD::size_t operator()( const TestClass& a ) const { |
| simulate_possible_failure(); |
| return EH_CSTD::size_t(a.value()); |
| } |
| }; |
| |
| #endif // ThrowCompare_H_ |