diff options
Diffstat (limited to 'boost/test/detail/global_typedef.hpp')
-rw-r--r-- | boost/test/detail/global_typedef.hpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/boost/test/detail/global_typedef.hpp b/boost/test/detail/global_typedef.hpp index b9cfeb5206..aeede00e9c 100644 --- a/boost/test/detail/global_typedef.hpp +++ b/boost/test/detail/global_typedef.hpp @@ -71,6 +71,21 @@ test_id_2_unit_type( test_unit_id id ) return (id & 0xFFFF0000) != 0 ? TUT_CASE : TUT_SUITE; } +//! Helper class for restoring the current test unit ID in a RAII manner +struct test_unit_id_restore { + test_unit_id_restore(test_unit_id& to_restore_, test_unit_id new_value) + : to_restore(to_restore_) + , bkup(to_restore_) { + to_restore = new_value; + } + ~test_unit_id_restore() { + to_restore = bkup; + } +private: + test_unit_id& to_restore; + test_unit_id bkup; +}; + //____________________________________________________________________________// } // namespace ut_detail |