OKlibrary  0.2.1.6
OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int > Class Template Reference

Functor which produces the list of arithmetic progressions of length k in {1, ..., n} finishing in n. More...

#include <VanderWaerden.hpp>

List of all members.

Public Types

typedef Int int_type
typedef Arithmetic_progression
< int_type
progression_type
typedef Hyperedges hyperedge_type
typedef SetSystem set_system_type
typedef hyperedge_type::value_type vertex_type

Public Member Functions

 Arithprog_finish ()
 Arithprog_finish (const int_type k)
void set (const int_type k_new)
set_system_type operator() (const int_type n) const

Public Attributes

int_type k

Detailed Description

template<class Hyperedges, class SetSystem, typename Int = unsigned int>
class OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >

Functor which produces the list of arithmetic progressions of length k in {1, ..., n} finishing in n.

Specified by function arithprog_finish(k,n) in ComputerAlgebra/Hypergraphs/Lisp/Generators/VanderWaerden.mac.

Usage:

  • Produce an object "Arithprog_finish ap(k);" or "Arithprog_finish ap;".
  • The length k of the arithmetic progressions can be re-set by ap.set(k) (k >= 1); this is necessary in case of default-construction.
  • ap(n) returns the set-system of arithmetic progressions of length (the current) k in {1, ..., n} (for n >= 1).
  • The requirements on template-parameter SetSystem are
    1. copyable;
    2. construction SetSystem(begin,end) through a sequence given by two iterators, where the value-type of the iterators is Hyperedges.
  • The requirements on template-parameter Hyperedges are
    1. copyable;
    2. construction Hyperedges(begin,end) through a sequence given by two iterators, where the value-type of the iterators is Int.

Definition at line 141 of file VanderWaerden.hpp.


Member Typedef Documentation

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
typedef Hyperedges OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::hyperedge_type

Definition at line 145 of file VanderWaerden.hpp.

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
typedef Int OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::int_type

Definition at line 143 of file VanderWaerden.hpp.

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
typedef Arithmetic_progression<int_type> OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::progression_type

Definition at line 144 of file VanderWaerden.hpp.

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
typedef SetSystem OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::set_system_type

Definition at line 146 of file VanderWaerden.hpp.

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
typedef hyperedge_type::value_type OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::vertex_type

Definition at line 147 of file VanderWaerden.hpp.


Constructor & Destructor Documentation

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::Arithprog_finish ( ) [inline]

Definition at line 151 of file VanderWaerden.hpp.

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::Arithprog_finish ( const int_type  k) [inline]

Definition at line 152 of file VanderWaerden.hpp.


Member Function Documentation

template<class Hyperedges , class SetSystem , typename Int = unsigned int>
void OKlib::Combinatorics::Hypergraphs::Generators::Arithprog_finish< Hyperedges, SetSystem, Int >::set ( const int_type  k_new) [inline]

Member Data Documentation


The documentation for this class was generated from the following file: