os/ossrv/genericopenlibs/cppstdlib/stl/test/eh/ThrowCompare.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /***********************************************************************************
     2   ThrowCompare.h
     3 
     4     Interface for the ThrowCompare class
     5 
     6  * Copyright (c) 1997
     7  * Mark of the Unicorn, Inc.
     8  *
     9  * Permission to use, copy, modify, distribute and sell this software
    10  * and its documentation for any purpose is hereby granted without fee,
    11  * provided that the above copyright notice appear in all copies and
    12  * that both that copyright notice and this permission notice appear
    13  * in supporting documentation.  Mark of the Unicorn makes no
    14  * representations about the suitability of this software for any
    15  * purpose.  It is provided "as is" without express or implied warranty.
    16 
    17 ***********************************************************************************/
    18 #ifndef ThrowCompare_H_
    19 #define ThrowCompare_H_
    20 
    21 #include "Prefix.h"
    22 #include "TestClass.h"
    23 
    24 struct ThrowCompare {
    25   bool operator()( const TestClass& a, const TestClass& b ) const {
    26     simulate_possible_failure();
    27     return a < b;
    28   }
    29 };
    30 
    31 
    32 struct ThrowEqual {
    33   inline bool operator()( const TestClass& a, const TestClass& b ) const {
    34     simulate_possible_failure();
    35     return a == b;
    36   }
    37 };
    38 
    39 struct ThrowHash { // : private ThrowCompare
    40   inline EH_CSTD::size_t operator()( const TestClass& a ) const {
    41     simulate_possible_failure();
    42     return EH_CSTD::size_t(a.value());
    43   }
    44 };
    45 
    46 #endif // ThrowCompare_H_