1234567891011121314151617181920212223242526272829303132 |
- // Copyright David Abrahams 2002.
- // Distributed under the Boost Software License, Version 1.0. (See
- // accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- #ifndef TEST_CLASS_DWA2002326_HPP
- # define TEST_CLASS_DWA2002326_HPP
- # include <boost/detail/lightweight_test.hpp>
- template <int n = 0>
- struct test_class
- {
- explicit test_class(int x) : x(x), magic(7654321 + n) { ++counter; }
- test_class(test_class const& rhs) : x(rhs.x), magic(7654321 + n) { ++counter; }
- virtual ~test_class() { BOOST_TEST(magic == 7654321 + n); magic = 6666666; x = 9999; --counter; }
- void set(int _x) { BOOST_TEST(magic == 7654321 + n); this->x = _x; }
- int value() const { BOOST_TEST(magic == 7654321 + n); return x; }
- operator int() const { return x; }
- static int count() { return counter; }
- int x;
- long magic;
- static int counter;
-
- private:
- void operator=(test_class const&);
- };
- template <int n>
- int test_class<n>::counter;
- #endif // TEST_CLASS_DWA2002326_HPP
|