diff options
Diffstat (limited to '3rdParty/Boost/src/boost/pointer_to_other.hpp')
| -rw-r--r-- | 3rdParty/Boost/src/boost/pointer_to_other.hpp | 55 | 
1 files changed, 55 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/pointer_to_other.hpp b/3rdParty/Boost/src/boost/pointer_to_other.hpp new file mode 100644 index 0000000..8516734 --- /dev/null +++ b/3rdParty/Boost/src/boost/pointer_to_other.hpp @@ -0,0 +1,55 @@ +#ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED +#define BOOST_POINTER_TO_OTHER_HPP_INCLUDED + +// +//  pointer_to_other.hpp +// +//  (C) Copyright Ion Gaztanaga 2005. +//  Copyright (c) 2005 Peter Dimov. +// +//  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/smart_ptr/pointer_to_other.html +// + +namespace boost +{ + +// Defines the same pointer type (raw or smart) to another pointee type + +template<class T, class U> +struct pointer_to_other; + +template<class T, class U,  +         template<class> class Sp> +struct pointer_to_other< Sp<T>, U > +{ +   typedef Sp<U> type; +}; + +template<class T, class T2, class U,  +         template<class, class> class Sp> +struct pointer_to_other< Sp<T, T2>, U > +{ +   typedef Sp<U, T2> type; +}; + +template<class T, class T2, class T3, class U,  +         template<class, class, class> class Sp> +struct pointer_to_other< Sp<T, T2, T3>, U > +{ +   typedef Sp<U, T2, T3> type; +}; + +template<class T, class U> +struct pointer_to_other< T*, U > +{ +   typedef U* type; +}; + +} // namespace boost + +#endif // #ifndef BOOST_POINTER_TO_OTHER_HPP_INCLUDED  | 
 Swift