00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef ThrowCompare_H_
00019 #define ThrowCompare_H_
00020
00021 # include "Prefix.h"
00022 # include "TestClass.h"
00023
00024 struct ThrowCompare
00025 {
00026 bool operator()( const TestClass& a, const TestClass& b ) const {
00027 simulate_possible_failure();
00028 return a < b;
00029 }
00030 };
00031
00032
00033 struct ThrowEqual
00034 {
00035 inline bool operator()( const TestClass& a, const TestClass& b ) const
00036 {
00037 simulate_possible_failure();
00038 return a == b;
00039 }
00040 };
00041
00042 struct ThrowHash
00043 {
00044 inline EH_CSTD::size_t operator()( const TestClass& a ) const
00045 {
00046 simulate_possible_failure();
00047 return EH_CSTD::size_t(a.value());
00048 }
00049 };
00050
00051 #endif // ThrowCompare_H_