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 Concept of == and != comparability requirement.
Definition: basic.hpp:100
Concept of types equivalence requirement.
Definition: basic.hpp:178
Concept of copy construction requirement.
Definition: basic.hpp:62
Concept of swap operation requirement.
Definition: basic.hpp:118
Concept of default construction requirement.
Definition: basic.hpp:43
Concept of copy assignment requirement.
Definition: basic.hpp:81
void swap(boost::gil::packed_channel_reference< BF, FB, NB, M > const x, R &y)
swap for packed_channel_reference
Definition: channel.hpp:529
Concept for type regularity requirement.
Definition: basic.hpp:141