OKlibrary  0.2.1.6
OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint > Class Template Reference

First prototype for an alliance of active clause-sets for Sudoku. More...

#include <Sudoku.hpp>

List of all members.

Public Types

typedef int box_index
typedef int square_index
typedef int entry_type
typedef std::pair< box_index,
box_index
box_point_type
typedef std::pair
< box_point_type,
box_point_type
point2_type
typedef std::pair
< square_index, square_index
point_type
typedef BijectivityConstraint constraint_type
typedef
OKlib::Variables::Variables_unsigned_int 
variables_type
typedef
OKlib::PartialAssignments::MultiPASS
< entry_type, n,
variables_type
partial_assignment_type
typedef
partial_assignment_type::domain_type 
domain_type
typedef
partial_assignment_type::literal_type 
literal_type

Public Member Functions

 SudokuProblem (partial_assignment_type &phi)
point_type point (const point2_type &p) const
variables_type var (const point_type &p) const
void add_assignment (const literal_type &l)
void undo ()

Static Public Attributes

static const int N = Box_size
static const int N2 = N * N
static const int n = N2 * N2

Detailed Description

template<int Box_size, class BijectivityConstraint>
class OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >

First prototype for an alliance of active clause-sets for Sudoku.

Todo:
Once we have fixed the concepts (a bit more), likely we should rename the parameter BijectivityConstraint.
Todo:
More doxygen-documentation is needed.

Definition at line 39 of file Sudoku.hpp.


Member Typedef Documentation

template<int Box_size, class BijectivityConstraint >
typedef int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::box_index

Definition at line 47 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef std::pair<box_index, box_index> OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::box_point_type

Definition at line 51 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef BijectivityConstraint OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::constraint_type

Definition at line 55 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef partial_assignment_type::domain_type OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::domain_type

Definition at line 59 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::entry_type

Definition at line 49 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef partial_assignment_type::literal_type OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::literal_type

Definition at line 60 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef OKlib::PartialAssignments::MultiPASS<entry_type, n, variables_type> OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::partial_assignment_type

Definition at line 58 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef std::pair<box_point_type, box_point_type> OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::point2_type

Definition at line 52 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef std::pair<square_index, square_index> OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::point_type

Definition at line 53 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::square_index

Definition at line 48 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
typedef OKlib::Variables::Variables_unsigned_int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::variables_type

Definition at line 57 of file Sudoku.hpp.


Constructor & Destructor Documentation

template<int Box_size, class BijectivityConstraint >
OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::SudokuProblem ( partial_assignment_type phi) [inline]

Definition at line 63 of file Sudoku.hpp.


Member Function Documentation

template<int Box_size, class BijectivityConstraint >
void OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::add_assignment ( const literal_type l) [inline]
template<int Box_size, class BijectivityConstraint >
point_type OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::point ( const point2_type p) const [inline]
template<int Box_size, class BijectivityConstraint >
void OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::undo ( ) [inline]
template<int Box_size, class BijectivityConstraint >
variables_type OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::var ( const point_type p) const [inline]

Member Data Documentation

template<int Box_size, class BijectivityConstraint >
const int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::N = Box_size [static]
template<int Box_size, class BijectivityConstraint >
const int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::n = N2 * N2 [static]

Definition at line 45 of file Sudoku.hpp.

template<int Box_size, class BijectivityConstraint >
const int OKlib::LatinSquares::SudokuProblem< Box_size, BijectivityConstraint >::N2 = N * N [static]

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