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

Adaptor which turns Dimacs input into a std::vector<std::vector<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
typedef Statistics< int_typestatistics_type

Public Member Functions

 RawDimacsCLSAdaptor ()
void comment (const string_type &)
void n (const int_type pn)
void c (const int_type pc)
void finish ()
void tautological_clause (const int_type t)
template<class ForwardRange >
void clause (const ForwardRange &r, const int_type t)
 all literal occurrences are copied as is

Public Attributes

clause_set_type clause_set
statistics_type stat

Detailed Description

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >

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

  • Comments, the two parameters and tautological clauses are ignored (have no effect) for the output.
  • Multiple literal occurrences are not contracted, but show up in the clauses.
  • The data-member stats contains the (simple) collected statistics (no determination of n or nmi).

Any container for clauses can be used which supports "push_back".

Definition at line 625 of file ClauseSetAdaptors.hpp.


Member Typedef Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::clause_set_type

Definition at line 630 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::clause_type

Definition at line 631 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::int_type

Definition at line 632 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::literal_type

Definition at line 629 of file ClauseSetAdaptors.hpp.

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

Definition at line 637 of file ClauseSetAdaptors.hpp.

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::string_type

Definition at line 633 of file ClauseSetAdaptors.hpp.


Constructor & Destructor Documentation

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

Definition at line 640 of file ClauseSetAdaptors.hpp.


Member Function Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::c ( const int_type  pc) [inline]
template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::clause ( const ForwardRange &  r,
const int_type  t 
) [inline]
template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::comment ( const string_type ) [inline]
template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::finish ( ) [inline]
template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::n ( const int_type  pn) [inline]

Member Data Documentation

template<typename Lit = OKlib::Literals::Literals_int, class ClauseContainer = std::vector<std::vector<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::RawDimacsCLSAdaptor< Lit, ClauseContainer, Int, String >::clause_set

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