Chris@16: ////////////////////////////////////////////////////////////////////////////// Chris@16: // Chris@16: // (C) Copyright Ion Gaztanaga 2005. Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Chris@16: ////////////////////////////////////////////////////////////////////////////// Chris@16: Chris@16: #ifndef BOOST_POINTER_CAST_HPP Chris@16: #define BOOST_POINTER_CAST_HPP Chris@16: Chris@16: namespace boost { Chris@16: Chris@16: //static_pointer_cast overload for raw pointers Chris@16: template Chris@16: inline T* static_pointer_cast(U *ptr) Chris@16: { Chris@16: return static_cast(ptr); Chris@16: } Chris@16: Chris@16: //dynamic_pointer_cast overload for raw pointers Chris@16: template Chris@16: inline T* dynamic_pointer_cast(U *ptr) Chris@16: { Chris@16: return dynamic_cast(ptr); Chris@16: } Chris@16: Chris@16: //const_pointer_cast overload for raw pointers Chris@16: template Chris@16: inline T* const_pointer_cast(U *ptr) Chris@16: { Chris@16: return const_cast(ptr); Chris@16: } Chris@16: Chris@16: //reinterpret_pointer_cast overload for raw pointers Chris@16: template Chris@16: inline T* reinterpret_pointer_cast(U *ptr) Chris@16: { Chris@16: return reinterpret_cast(ptr); Chris@16: } Chris@16: Chris@16: } // namespace boost Chris@16: Chris@16: #endif //BOOST_POINTER_CAST_HPP