1 #ifndef _theplu_yat_utility_concept_check_
2 #define _theplu_yat_utility_concept_check_
28 #include "iterator_traits.h"
30 #include <boost/concept_archetype.hpp>
31 #include <boost/concept_check.hpp>
59 #ifdef YAT_HAVE_BOOST_CONCEPT_WITH_CONSTRUCTOR
83 row_iter_ = t_.end_row(0);
85 col_iter_ = t_.end_column(0);
91 BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator<const_iterator>));
92 BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator<const_row_iterator>));
93 BOOST_CONCEPT_ASSERT((boost::RandomAccessIterator<const_column_iterator>));
97 void some_func(
size_t x)
const {}
141 row_iter_ = t_.end_row(0);
143 col_iter_ = t_.end_column(0);
146 using boost::Mutable_RandomAccessIterator;
147 BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<iterator>));
148 BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<row_iterator>));
149 BOOST_CONCEPT_ASSERT((Mutable_RandomAccessIterator<column_iterator>));
176 :
public boost::Assignable<T>
177 ,
public boost::EqualityComparable<T>
178 ,
public boost::DefaultConstructible<T>
185 typedef typename std::iterator_traits<T>::value_type
value_type;
189 typedef typename std::iterator_traits<T>::pointer
pointer;
191 typedef typename std::iterator_traits<T>::reference
reference;
230 typedef typename std::iterator_traits<T>::value_type
value_type;
244 BOOST_CONCEPT_ASSERT((boost::Convertible<value_type, double>));
249 BOOST_CONCEPT_ASSERT((boost::Convertible<value_type, DataWeight>));
281 boost::random_access_iterator_archetype<double> unweighted;
282 boost::random_access_iterator_archetype<DataWeight> weighted;
284 d += distance_(unweighted, unweighted, unweighted);
285 d += distance_(unweighted, unweighted, weighted);
286 d += distance_(weighted, weighted, unweighted);
287 d += distance_(weighted, weighted, weighted);
292 void func(
double x) {}
weighted_iterator_traits< T >::type tag
tag
Definition: concept_check.h:228
detail::weighted_iterator_traits_detail< value >::type type
Definition: iterator_traits.h:108
Concept check for Trivial Iterator
Definition: concept_check.h:175
std::iterator_traits< T >::value_type value_type
value_type
Definition: concept_check.h:230
Concept check for Data Iterator.
Definition: concept_check.h:224
Concept check for Container2D.
Definition: concept_check.h:56
Definition: iterator_traits.h:46
T::const_reference const_reference
const_reference
Definition: concept_check.h:67
std::iterator_traits< T >::iterator_category iterator_category
iterator_category
Definition: concept_check.h:183
Concept check for Mutable Container2D.
Definition: concept_check.h:121
Definition: iterator_traits.h:54
std::iterator_traits< T >::difference_type difference_type
difference_type
Definition: concept_check.h:187
T::const_iterator const_iterator
const_iterator
Definition: concept_check.h:69
BOOST_CONCEPT_USAGE(TrivialIterator)
function doing the concept test
Definition: concept_check.h:196
BOOST_CONCEPT_USAGE(Container2D)
function doing the concept test
Definition: concept_check.h:78
std::iterator_traits< T >::value_type value_type
value_type
Definition: concept_check.h:185
std::iterator_traits< T >::pointer pointer
pointer
Definition: concept_check.h:189
T::const_row_iterator const_row_iterator
const_row_iterator
Definition: concept_check.h:71
BOOST_CONCEPT_USAGE(Mutable_Container2D)
function doing the concept test
Definition: concept_check.h:136
T::iterator iterator
iterator
Definition: concept_check.h:127
T::row_iterator row_iterator
row_iterator
Definition: concept_check.h:129
std::iterator_traits< T >::reference reference
reference
Definition: concept_check.h:191
BOOST_CONCEPT_USAGE(DataIteratorConcept)
function doing the concept test
Definition: concept_check.h:235
Concept check for a Distance.
Definition: concept_check.h:273
T::reference reference
reference
Definition: concept_check.h:125
T::const_column_iterator const_column_iterator
const_column_iterator
Definition: concept_check.h:73
T::value_type value_type
value_type
Definition: concept_check.h:65
T::column_iterator column_iterator
column_iterator
Definition: concept_check.h:131
BOOST_CONCEPT_USAGE(DistanceConcept)
function doing the concept test
Definition: concept_check.h:279
Container2D(void)
Default constructor.
Definition: concept_check.h:61