8 #ifndef BOOST_GIL_CONCEPTS_BASIC_HPP
9 #define BOOST_GIL_CONCEPTS_BASIC_HPP
11 #include <boost/config.hpp>
13 #if defined(BOOST_CLANG)
14 #pragma clang diagnostic push
15 #pragma clang diagnostic ignored "-Wunknown-pragmas"
16 #pragma clang diagnostic ignored "-Wunused-local-typedefs"
17 #pragma clang diagnostic ignored "-Wuninitialized"
20 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
21 #pragma GCC diagnostic push
22 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
23 #pragma GCC diagnostic ignored "-Wuninitialized"
26 #include <boost/gil/concepts/concept_check.hpp>
28 #include <type_traits>
31 namespace boost {
namespace gil {
47 function_requires<boost::DefaultConstructibleConcept<T>>();
66 function_requires<boost::CopyConstructibleConcept<T>>();
85 function_requires<boost::AssignableConcept<T>>();
104 function_requires<boost::EqualityComparableConcept<T>>();
117 template <
typename T>
140 template <
typename T>
145 gil_function_requires< boost::DefaultConstructibleConcept<T>>();
146 gil_function_requires< boost::CopyConstructibleConcept<T>>();
147 gil_function_requires< boost::EqualityComparableConcept<T>>();
148 gil_function_requires< boost::AssignableConcept<T>>();
149 gil_function_requires< Swappable<T>>();
162 template <
typename T>
167 using type =
typename T::type;
177 template <
typename T,
typename U>
182 static_assert(std::is_same<T, U>::value,
"");
188 #if defined(BOOST_CLANG)
189 #pragma clang diagnostic pop
192 #if defined(BOOST_GCC) && (BOOST_GCC >= 40900)
193 #pragma GCC diagnostic pop
void swap(boost::gil::packed_channel_reference< BF, FB, NB, M > const x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:583
defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)
Definition: algorithm.hpp:36
Concept of copy assignment requirement.
Definition: basic.hpp:82
Concept of copy construction requirement.
Definition: basic.hpp:63
Concept of default construction requirement.
Definition: basic.hpp:44
Concept of == and != comparability requirement.
Definition: basic.hpp:101
Concept for type regularity requirement.
Definition: basic.hpp:142
Concept of types equivalence requirement.
Definition: basic.hpp:179
Concept of swap operation requirement.
Definition: basic.hpp:119