OKlibrary  0.2.1.6
OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit > Class Template Reference

Clause-type with two watched literals, where the user can't distinguish between them. More...

#include <WatchedLiterals.hpp>

List of all members.

Public Types

typedef Lit value_type
typedef
OKlib::Literals::traits::var_type
< value_type >::type 
var_type
typedef clause_type::const_iterator const_iterator
typedef const_iterator iterator
typedef clause_type::size_type size_type

Public Member Functions

const_iterator begin () const
const_iterator end () const
size_type size () const
bool empty () const
template<typename InputIterator >
 WatchedLiterals_mono (const InputIterator b_, const InputIterator e_)
template<typename InputIterator >
void assign (const InputIterator b_, const InputIterator e_)
 WatchedLiterals_mono (const WatchedLiterals_mono &w)
WatchedLiterals_monooperator= (const WatchedLiterals_mono &rhs)
value_type first () const
value_type second () const
template<class Assignment >
value_type remove (const value_type x, Assignment &f)

Detailed Description

template<class Lit>
class OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >

Clause-type with two watched literals, where the user can't distinguish between them.

See ProblemInstances/Clauses/concepts/WatchedLiterals.hpp for the concept.

Todo:
Complete the concept
Todo:
Provide unit-tests
Todo:
Complete sequence-member-functions
Todo:
Improve implementation
  • Likely we should provide a specialisation for size 3.
  • Are members b, e really helpful (w.r.t. speed)? </li<

Definition at line 48 of file WatchedLiterals.hpp.


Member Typedef Documentation

template<class Lit >
typedef clause_type::const_iterator OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::const_iterator

Definition at line 60 of file WatchedLiterals.hpp.

template<class Lit >
typedef clause_type::size_type OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::size_type

Definition at line 62 of file WatchedLiterals.hpp.

Definition at line 51 of file WatchedLiterals.hpp.


Constructor & Destructor Documentation

template<class Lit >
template<typename InputIterator >
OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::WatchedLiterals_mono ( const InputIterator  b_,
const InputIterator  e_ 
) [inline]

Definition at line 70 of file WatchedLiterals.hpp.

Definition at line 85 of file WatchedLiterals.hpp.


Member Function Documentation

template<class Lit >
template<typename InputIterator >
void OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::assign ( const InputIterator  b_,
const InputIterator  e_ 
) [inline]

Definition at line 77 of file WatchedLiterals.hpp.

Definition at line 64 of file WatchedLiterals.hpp.

template<class Lit >
bool OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::empty ( ) const [inline]

Definition at line 67 of file WatchedLiterals.hpp.

Definition at line 65 of file WatchedLiterals.hpp.

Definition at line 99 of file WatchedLiterals.hpp.

template<class Lit >
WatchedLiterals_mono& OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::operator= ( const WatchedLiterals_mono< Lit > &  rhs) [inline]

Definition at line 91 of file WatchedLiterals.hpp.

template<class Lit >
template<class Assignment >
value_type OKlib::Satisfiability::ProblemInstances::Clauses::WatchedLiterals_mono< Lit >::remove ( const value_type  x,
Assignment &  f 
) [inline]

Definition at line 100 of file WatchedLiterals.hpp.

Definition at line 66 of file WatchedLiterals.hpp.


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