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