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