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 "-Wunused-local-typedefs"
16 #pragma clang diagnostic ignored "-Wuninitialized"
19 #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
20 #pragma GCC diagnostic push
21 #pragma GCC diagnostic ignored "-Wunused-local-typedefs"
22 #pragma GCC diagnostic ignored "-Wuninitialized"
25 #include <boost/gil/concepts/concept_check.hpp>
27 #include <type_traits>
30 namespace boost {
namespace gil {
46 function_requires<boost::DefaultConstructibleConcept<T>>();
65 function_requires<boost::CopyConstructibleConcept<T>>();
84 function_requires<boost::AssignableConcept<T>>();
103 function_requires<boost::EqualityComparableConcept<T>>();
116 template <
typename T>
139 template <
typename T>
144 gil_function_requires< boost::DefaultConstructibleConcept<T>>();
145 gil_function_requires< boost::CopyConstructibleConcept<T>>();
146 gil_function_requires< boost::EqualityComparableConcept<T>>();
147 gil_function_requires< boost::AssignableConcept<T>>();
148 gil_function_requires< Swappable<T>>();
161 template <
typename T>
166 using type =
typename T::type;
176 template <
typename T,
typename U>
181 static_assert(std::is_same<T, U>::value,
"");
187 #if defined(BOOST_CLANG)
188 #pragma clang diagnostic pop
191 #if defined(BOOST_GCC) && (BOOST_GCC >= 40600)
192 #pragma GCC diagnostic pop
Concept of == and != comparability requirement.
Definition: basic.hpp:99
Concept of types equivalence requirement.
Definition: basic.hpp:177
Concept of copy construction requirement.
Definition: basic.hpp:61
void swap(const boost::gil::packed_channel_reference< BF, FB, NB, M > x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:485
Concept of swap operation requirement.
Definition: basic.hpp:117
Concept of default construction requirement.
Definition: basic.hpp:42
Concept of copy assignment requirement.
Definition: basic.hpp:80
Concept for type regularity requirement.
Definition: basic.hpp:140