1 #ifndef COLLECTION_CONCEPT_RG103101_HPP
2 #define COLLECTION_CONCEPT_RG103101_HPP
4 #include "boost/concept_check.hpp"
8 namespace multi_array {
10 //===========================================================================
13 template <class Collection>
14 struct CollectionConcept
16 typedef typename Collection::value_type value_type;
17 typedef typename Collection::iterator iterator;
18 typedef typename Collection::const_iterator const_iterator;
19 typedef typename Collection::reference reference;
20 typedef typename Collection::const_reference const_reference;
21 // typedef typename Collection::pointer pointer;
22 typedef typename Collection::difference_type difference_type;
23 typedef typename Collection::size_type size_type;
26 boost::function_requires<boost::InputIteratorConcept<iterator> >();
27 boost::function_requires<boost::InputIteratorConcept<const_iterator> >();
28 boost::function_requires<boost::CopyConstructibleConcept<value_type> >();
34 void const_constraints(const Collection& c) {
50 #endif // COLLECTION_CONCEPT_RG103101_HPP