Chris@16: // Boost.Geometry Index Chris@16: // Chris@16: // Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland. Chris@16: // Chris@16: // Use, modification and distribution is subject to the Boost Software License, Chris@16: // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #include Chris@16: //#include Chris@16: Chris@16: #ifndef BOOST_GEOMETRY_INDEX_DETAIL_UTILITIES_HPP Chris@16: #define BOOST_GEOMETRY_INDEX_DETAIL_UTILITIES_HPP Chris@16: Chris@16: namespace boost { namespace geometry { namespace index { namespace detail { Chris@16: Chris@16: template Chris@16: static inline void assign_cond(T & l, T const& r, boost::mpl::bool_ const&) Chris@16: { Chris@16: l = r; Chris@16: } Chris@16: Chris@16: template Chris@16: static inline void assign_cond(T &, T const&, boost::mpl::bool_ const&) {} Chris@16: Chris@16: template Chris@16: static inline void move_cond(T & l, T & r, boost::mpl::bool_ const&) Chris@16: { Chris@16: l = ::boost::move(r); Chris@16: } Chris@16: Chris@16: template Chris@16: static inline void move_cond(T &, T &, boost::mpl::bool_ const&) {} Chris@16: Chris@16: template inline Chris@16: void swap_cond(T & l, T & r, boost::mpl::bool_ const&) Chris@16: { Chris@16: ::boost::swap(l, r); Chris@16: } Chris@16: Chris@16: template inline Chris@16: void swap_cond(T &, T &, boost::mpl::bool_ const&) {} Chris@16: Chris@16: }}}} // namespace boost::geometry::index::detail Chris@16: Chris@16: #endif // BOOST_GEOMETRY_INDEX_DETAIL_UTILITIES_HPP