| // (C) Copyright Gennadiy Rozental 2005-2008. |
| // 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) |
| |
| // See http://www.boost.org/libs/test for the library home page. |
| // |
| // File : $RCSfile$ |
| // |
| // Version : $Revision: 54633 $ |
| // |
| // Description : contains mics. workarounds |
| // *************************************************************************** |
| |
| #ifndef NDNBOOST_TEST_WORKAROUND_HPP_021005GER |
| #define NDNBOOST_TEST_WORKAROUND_HPP_021005GER |
| |
| // Boost |
| #include <ndnboost/config.hpp> // compilers workarounds and std::ptrdiff_t |
| |
| // STL |
| #include <iterator> // for std::distance |
| |
| #include <ndnboost/test/detail/suppress_warnings.hpp> |
| |
| //____________________________________________________________________________// |
| |
| namespace ndnboost { |
| |
| namespace unit_test { |
| |
| namespace ut_detail { |
| |
| #ifdef NDNBOOST_NO_STD_DISTANCE |
| template <class T> |
| std::ptrdiff_t distance( T const& x_, T const& y_ ) |
| { |
| std::ptrdiff_t res = 0; |
| |
| std::distance( x_, y_, res ); |
| |
| return res; |
| } |
| |
| //____________________________________________________________________________// |
| |
| #else |
| using std::distance; |
| #endif |
| |
| template <class T> inline void ignore_unused_variable_warning(const T&) {} |
| |
| } // namespace ut_detail |
| |
| } // namespace unit_test |
| |
| namespace unit_test_framework = unit_test; |
| |
| } // namespace ndnboost |
| |
| //____________________________________________________________________________// |
| |
| #include <ndnboost/test/detail/enable_warnings.hpp> |
| |
| #endif // NDNBOOST_TEST_WORKAROUND_HPP_021005GER |