1 // Boost.Geometry (aka GGL, Generic Geometry Library) 2 3 // Copyright (c) 2012 Barend Gehrels, Amsterdam, the Netherlands. 4 // Copyright (c) 2012 Bruno Lalande, Paris, France. 5 // Copyright (c) 2012 Mateusz Loskot, London, UK. 6 7 // This file was modified by Oracle on 2014. 8 // Modifications copyright (c) 2014 Oracle and/or its affiliates. 9 10 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle 11 12 // Use, modification and distribution is subject to the Boost Software License, 13 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 14 // http://www.boost.org/LICENSE_1_0.txt) 15 16 #ifndef BOOST_GEOMETRY_UTIL_BARE_TYPE_HPP 17 #define BOOST_GEOMETRY_UTIL_BARE_TYPE_HPP 18 19 20 #include <boost/type_traits/remove_const.hpp> 21 #include <boost/type_traits/remove_pointer.hpp> 22 #include <boost/type_traits/remove_reference.hpp> 23 24 25 namespace boost { namespace geometry 26 { 27 28 namespace util 29 { 30 31 template <typename T> 32 struct bare_type 33 { 34 typedef typename boost::remove_const 35 < 36 typename boost::remove_pointer 37 < 38 typename boost::remove_reference 39 < 40 T 41 >::type 42 >::type 43 >::type type; 44 }; 45 46 47 } // namespace util 48 49 }} // namespace boost::geometry 50 51 52 #endif // BOOST_GEOMETRY_UTIL_BARE_TYPE_HPP 53