All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Pages
cycle_concept.hpp
Go to the documentation of this file.
1 //=======================================================================
2 // Copyright (c) 2013 Piotr Wygocki
3 //
4 // Distributed under the Boost Software License, Version 1.0. (See
5 // accompanying file LICENSE_1_0.txt or copy at
6 // http://www.boost.org/LICENSE_1_0.txt)
7 //=======================================================================
15 #ifndef PAAL_CYCLE_CONCEPT_HPP
16 #define PAAL_CYCLE_CONCEPT_HPP
17 
19 
20 #include <boost/concept_check.hpp>
21 
22 namespace paal {
23 namespace data_structures {
24 namespace concepts {
25 
26 template <typename X> class Cycle {
27  public:
28  BOOST_CONCEPT_USAGE(Cycle) {
29  ve = x.vbegin();
30  ve = x.vbegin(ce);
31  ve = x.vend();
32  x.flip(ce, ce);
33  }
34 
35  private:
36  X x;
37  typename cycle_traits<X>::CycleElem ce;
39 };
40 }
41 }
42 }
43 
44 #endif // PAAL_CYCLE_CONCEPT_HPP
traits for Cycle concept