OKlibrary  0.2.1.6
OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String > Class Template Reference

Adaptor which turns Dimacs input into a std::set<std::set<int> > . More...

#include <ClauseSetAdaptors.hpp>

List of all members.

Public Types

typedef Lit literal_type
typedef ClauseContainer clause_set_type
typedef clause_set_type::value_type clause_type
typedef Int int_type
typedef String string_type

Public Member Functions

 RawDimacsCLSAdaptorSets ()
void comment (const string_type &) const
void n (const int_type) const
void c (const int_type) const
void finish () const
void tautological_clause (const int_type) const
template<class ForwardRange >
void clause (const ForwardRange &r, const int_type)

Public Attributes

clause_set_type clause_set

Detailed Description

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
class OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >

Adaptor which turns Dimacs input into a std::set<std::set<int> > .

Comments, the two parameters and tautological clauses are ignored (have no effect). Multiple literal occurrences are (obviously) contracted, and so are multiple clauses.

More generally, any container for clauses can be used which supports "insert". Here the container for literals should contract multiple literal occurrences (if not then the above specification about contraction has to be cancelled), and also the container for clauses should contract multiple clauses.

Definition at line 690 of file ClauseSetAdaptors.hpp.


Member Typedef Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
typedef ClauseContainer OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::clause_set_type

Definition at line 695 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
typedef clause_set_type::value_type OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::clause_type

Definition at line 696 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
typedef Int OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::int_type

Definition at line 697 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
typedef Lit OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::literal_type

Definition at line 694 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
typedef String OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::string_type

Definition at line 698 of file ClauseSetAdaptors.hpp.


Constructor & Destructor Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::RawDimacsCLSAdaptorSets ( ) [inline]

Definition at line 702 of file ClauseSetAdaptors.hpp.


Member Function Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::c ( const int_type  ) const [inline]

Definition at line 705 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
template<class ForwardRange >
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::clause ( const ForwardRange &  r,
const int_type   
) [inline]
template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::comment ( const string_type ) const [inline]

Definition at line 703 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::finish ( ) const [inline]

Definition at line 706 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::n ( const int_type  ) const [inline]

Definition at line 704 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
void OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::tautological_clause ( const int_type  ) const [inline]

Definition at line 707 of file ClauseSetAdaptors.hpp.


Member Data Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::set<std::set<Lit> >, typename Int = typename OKlib::Variables::traits::index_type< typename OKlib::Literals::traits::var_type<Lit>::type>::type, class String = std::string>
clause_set_type OKlib::InputOutput::RawDimacsCLSAdaptorSets< Lit, ClauseContainer, Int, String >::clause_set

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