15 #ifndef PAAL_CONCEPTS_HPP
16 #define PAAL_CONCEPTS_HPP
18 #include <boost/concept_check.hpp>
19 #include <boost/range/concepts.hpp>
20 #include <boost/range/iterator.hpp>
22 #include <type_traits>
37 static_assert(std::is_floating_point<T>::value,
38 "T is not floating point!");
48 static_assert(std::is_move_constructible<T>::value,
49 "T is not move constructible!");
60 template <
class Iter,
class Val>
68 *iter = std::move(val);
80 BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIteratorConcept<
81 typename boost::range_iterator<T>::type>));
Concept class for output iterator concept. We don't use boost::OutputIterator concept as it excludes ...
Concept class for floating point types.
Concept class for readable range concept.
Concept class for move constructible types.