annotate DEPENDENCIES/generic/include/boost/geometry/util/add_const_if_c.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents 2665513ce2d3
children
rev   line source
Chris@16 1 // Boost.Geometry (aka GGL, Generic Geometry Library)
Chris@16 2
Chris@16 3 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
Chris@16 4 // Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
Chris@16 5 // Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
Chris@16 6
Chris@16 7 // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
Chris@16 8 // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
Chris@16 9
Chris@16 10 // Use, modification and distribution is subject to the Boost Software License,
Chris@16 11 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 12 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 13
Chris@16 14 #ifndef BOOST_GEOMETRY_UTIL_ADD_CONST_IF_C_HPP
Chris@16 15 #define BOOST_GEOMETRY_UTIL_ADD_CONST_IF_C_HPP
Chris@16 16
Chris@16 17
Chris@16 18 #include <boost/mpl/if.hpp>
Chris@16 19
Chris@16 20
Chris@16 21 namespace boost { namespace geometry
Chris@16 22 {
Chris@16 23
Chris@16 24
Chris@16 25 /*!
Chris@16 26 \brief Meta-function to define a const or non const type
Chris@16 27 \ingroup utility
Chris@16 28 \details If the boolean template parameter is true, the type parameter
Chris@16 29 will be defined as const, otherwise it will be defined as it was.
Chris@16 30 This meta-function is used to have one implementation for both
Chris@16 31 const and non const references
Chris@16 32 \note This traits class is completely independant from Boost.Geometry
Chris@16 33 and might be a separate addition to Boost
Chris@16 34 \note Used in a.o. for_each, interior_rings, exterior_ring
Chris@16 35 \par Example
Chris@16 36 \code
Chris@16 37 void foo(typename add_const_if_c<IsConst, Point>::type& point)
Chris@16 38 \endcode
Chris@16 39 */
Chris@16 40 template <bool IsConst, typename Type>
Chris@16 41 struct add_const_if_c
Chris@16 42 {
Chris@16 43 typedef typename boost::mpl::if_c
Chris@16 44 <
Chris@16 45 IsConst,
Chris@16 46 Type const,
Chris@16 47 Type
Chris@16 48 >::type type;
Chris@16 49 };
Chris@16 50
Chris@16 51
Chris@16 52
Chris@16 53 }} // namespace boost::geometry
Chris@16 54
Chris@16 55
Chris@16 56 #endif // BOOST_GEOMETRY_UTIL_ADD_CONST_IF_C_HPP