NS/releases/valve/source/stlport/test/eh/ThrowCompare.h

52 lines
1.4 KiB
C
Raw Normal View History

/***********************************************************************************
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_