OKlibrary  0.2.1.6
OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int > Class Template Reference

Transforming generalised hypergraph colouring to (boolean) CNF. More...

#include <Colouring.hpp>

List of all members.

Public Types

typedef SetSystem hypergraph_type
typedef hypergraph_type::value_type hyperedge_type
typedef hyperedge_type::value_type vertex_type
typedef Int int_type
typedef std::vector< const
hypergraph_type * > 
list_hypergraphs_type
typedef
list_hypergraphs_type::const_iterator 
list_hypergraphs_iterator
typedef std::vector< vertex_typelist_vertices_type
typedef
list_vertices_type::const_iterator 
list_vertices_iterator
typedef
list_hypergraphs_type::size_type 
size_type

Public Member Functions

 GeneralisedHypergraphColouring (const list_hypergraphs_type &list_h, const list_vertices_type &list_v)
int_type standardise (const vertex_type v, const size_type colour) const
template<class CLSAdaptor >
void transfer (CLSAdaptor &out, const std::string &comment) const

Public Attributes

const list_hypergraphs_typelist_hypergraphs
const list_vertices_typelist_vertices
const size_type num_colours
const size_type num_vertices
const size_type n
const list_vertices_iterator begin_vertices
const list_vertices_iterator end_vertices

Detailed Description

template<class SetSystem, typename Int = int>
class OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >

Transforming generalised hypergraph colouring to (boolean) CNF.

Using the regular encoding with AMO-clauses. The specifications at Maxima-level are

Todo:
Write tests.
Todo:
Would the use of smart pointers be appropriate?

Definition at line 120 of file Colouring.hpp.


Member Typedef Documentation

template<class SetSystem , typename Int = int>
typedef hypergraph_type::value_type OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::hyperedge_type

Definition at line 123 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef SetSystem OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::hypergraph_type

Definition at line 122 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef Int OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::int_type

Definition at line 126 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef list_hypergraphs_type::const_iterator OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::list_hypergraphs_iterator

Definition at line 129 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef std::vector<const hypergraph_type*> OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::list_hypergraphs_type

Definition at line 128 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef list_vertices_type::const_iterator OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::list_vertices_iterator

Definition at line 131 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef std::vector<vertex_type> OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::list_vertices_type

Definition at line 130 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef list_hypergraphs_type::size_type OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::size_type

Definition at line 133 of file Colouring.hpp.

template<class SetSystem , typename Int = int>
typedef hyperedge_type::value_type OKlib::Satisfiability::Interfaces::InputOutput::GeneralisedHypergraphColouring< SetSystem, Int >::vertex_type

Definition at line 124 of file Colouring.hpp.


Constructor & Destructor Documentation


Member Function Documentation


Member Data Documentation

Definition at line 136 of file Colouring.hpp.


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