OKlibrary  0.2.1.6
OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt > Class Template Reference

Transforms a set-system into a standardised stratified set-system according to the order on the vertices. More...

#include <VertexBranching.hpp>

List of all members.

Public Types

typedef SetSystem set_system_type
typedef UInt uint_type
typedef set_system_type::value_type hyperedge_type
typedef hyperedge_type::value_type vertex_type
typedef std::set< uint_typenew_hyperedge_type
typedef std::vector
< new_hyperedge_type
new_set_system_type
typedef std::vector
< new_set_system_type
strata_type
typedef std::vector< uint_typevertex_container
typedef
vertex_container::const_iterator 
vertex_iterator

Public Member Functions

 DirectStratification (const set_system_type &S, const hyperedge_type &L)
uint_type index (const vertex_type v) const
const new_set_system_typeoperator() (const uint_type i) const

Public Attributes

const vertex_container V
const uint_type n
const vertex_iterator begin_V
const vertex_iterator end_V

Detailed Description

template<class SetSystem, typename UInt = unsigned int>
class OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >

Transforms a set-system into a standardised stratified set-system according to the order on the vertices.

The Maxima-specification is function strata_ses(S.L) in ComputerAlgebra/Hypergraphs/Lisp/Stratification.mac, though that function does not perform standardisation.

Prerequisites:

  • A linear order is given on the vertices.
  • The vertex-list L is linearly ordered (in ascending order).
  • No hyperedge of S is empty.
Todo:
Move to stratification module.
Todo:
Handling of order
  • Currently the order is given by "<" etc. as well as by the order of the vertex-list L.
  • More generally, one could have one version for each of these two possibilities.
  • The order given (just) by the vertex-list would correspond to what function strata_ses(S,L) uses.
Todo:
Write tests

Definition at line 309 of file VertexBranching.hpp.


Member Typedef Documentation

template<class SetSystem , typename UInt = unsigned int>
typedef set_system_type::value_type OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::hyperedge_type

Definition at line 312 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef std::set<uint_type> OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::new_hyperedge_type

Definition at line 315 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef std::vector<new_hyperedge_type> OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::new_set_system_type

Definition at line 316 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef SetSystem OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::set_system_type

Definition at line 310 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef std::vector<new_set_system_type> OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::strata_type

Definition at line 317 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef UInt OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::uint_type

Definition at line 311 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef std::vector<uint_type> OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::vertex_container

Definition at line 319 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef vertex_container::const_iterator OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::vertex_iterator

Definition at line 320 of file VertexBranching.hpp.

template<class SetSystem , typename UInt = unsigned int>
typedef hyperedge_type::value_type OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::vertex_type

Definition at line 313 of file VertexBranching.hpp.


Constructor & Destructor Documentation


Member Function Documentation

template<class SetSystem , typename UInt = unsigned int>
const new_set_system_type& OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::operator() ( const uint_type  i) const [inline]

Member Data Documentation

template<class SetSystem , typename UInt = unsigned int>
const vertex_container OKlib::Combinatorics::Hypergraphs::Transversals::Bounded::DirectStratification< SetSystem, UInt >::V

Definition at line 322 of file VertexBranching.hpp.


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