Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:36:54

0001 //
0002 // Copyright 2005-2007 Adobe Systems Incorporated
0003 //
0004 // Distributed under the Boost Software License, Version 1.0
0005 // See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt
0007 //
0008 #ifndef BOOST_GIL_CONCEPTS_CONCEPTS_CHECK_HPP
0009 #define BOOST_GIL_CONCEPTS_CONCEPTS_CHECK_HPP
0010 
0011 #include <boost/config.hpp>
0012 
0013 #if defined(BOOST_CLANG)
0014 #pragma clang diagnostic push
0015 #pragma clang diagnostic ignored "-Wunknown-pragmas"
0016 #pragma clang diagnostic ignored "-Wconversion"
0017 #pragma clang diagnostic ignored "-Wfloat-equal"
0018 #pragma clang diagnostic ignored "-Wuninitialized"
0019 #endif
0020 
0021 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
0022 #pragma GCC diagnostic push
0023 #pragma GCC diagnostic ignored "-Wconversion"
0024 #pragma GCC diagnostic ignored "-Wfloat-equal"
0025 #pragma GCC diagnostic ignored "-Wuninitialized"
0026 #endif
0027 
0028 #include <boost/concept_check.hpp>
0029 
0030 #if defined(BOOST_CLANG)
0031 #pragma clang diagnostic pop
0032 #endif
0033 
0034 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
0035 #pragma GCC diagnostic pop
0036 #endif
0037 
0038 // TODO: Document BOOST_GIL_USE_CONCEPT_CHECK here
0039 
0040 namespace boost { namespace gil {
0041 
0042 // TODO: What is BOOST_GIL_CLASS_REQUIRE for; Why not use BOOST_CLASS_REQUIRE?
0043 // TODO: What is gil_function_requires for; Why not function_requires?
0044 
0045 #ifdef BOOST_GIL_USE_CONCEPT_CHECK
0046     #define BOOST_GIL_CLASS_REQUIRE(type_var, ns, concept) \
0047         BOOST_CLASS_REQUIRE(type_var, ns, concept);
0048 
0049     template <typename Concept>
0050     void gil_function_requires() { function_requires<Concept>(); }
0051 #else
0052     #define BOOST_GIL_CLASS_REQUIRE(type_var, ns, concept)
0053 
0054     template <typename C>
0055     void gil_function_requires() {}
0056 #endif
0057 
0058 }} // namespace boost::gil:
0059 
0060 #endif