OKlibrary  0.2.1.6
SingleResult.hpp File Reference

Classes for representing results of one solver on one problem instance. More...

#include <string>
#include <ostream>
#include <cassert>
#include <algorithm>
#include <boost/tuple/tuple.hpp>
#include <OKlib/Concepts/ResultElements.hpp>
#include <OKlib/Programming/Utilities/OrderRelations/DerivedRelations.hpp>

Go to the source code of this file.

Classes

class  OKlib::SATCompetition::ResultElement
 Polymorphic base class for the representation of various forms of "results". More...
class  OKlib::SATCompetition::ResultElement_with_name
 Addition of a name to SATCompetition::ResultElement, by which result elements can be alphabetically sorted. More...
class  OKlib::SATCompetition::RandomKSat
class  OKlib::SATCompetition::Series
class  OKlib::SATCompetition::Series_with_n
class  OKlib::SATCompetition::RandomKSat_n
class  OKlib::SATCompetition::Benchmark
class  OKlib::SATCompetition::Solver
class  OKlib::SATCompetition::SATStatus
 Special result element representing the return value of the solver. More...
class  OKlib::SATCompetition::ResultBasis
class  OKlib::SATCompetition::Result
struct  OKlib::SATCompetition::tuple_type< Result >
class  OKlib::SATCompetition::ResultRandomSatBasis
class  OKlib::SATCompetition::ResultRandomSat
struct  OKlib::SATCompetition::tuple_type< ResultRandomSat >

Namespaces

namespace  OKlib
 

All components of the OKlibrary.


namespace  OKlib::SATCompetition
 

Tools for evaluating SAT competition (under various circumstances)


Typedefs

typedef std::pair< SuperSeries,
Series > 
OKlib::SATCompetition::SpecSeries
typedef std::pair< RandomKSat,
RandomKSat_n > 
OKlib::SATCompetition::SpecRandomKSat
typedef boost::tuple
< RandomKSat, RandomKSat_n,
Benchmark, Solver, SATStatus,
AverageTime, TimeOut > 
OKlib::SATCompetition::TupleResultRandomSat

Enumerations

enum  OKlib::SATCompetition::SolverResult { OKlib::SATCompetition::unknown = 0, OKlib::SATCompetition::sat = 10, OKlib::SATCompetition::unsat = 20, OKlib::SATCompetition::error = 1 }
 Codes for return values of SAT solvers. More...

Functions

std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const ResultElement_with_name &e)
bool OKlib::SATCompetition::operator== (const ResultElement_with_name &lhs, const ResultElement_with_name &rhs)
 OKlib::SATCompetition::OKLIB_DERIVED_UNEQUAL (ResultElement_with_name) bool operator<(const ResultElement_with_name &lhs
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const SpecSeries &series)
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const SATStatus &e)
bool OKlib::SATCompetition::operator== (const SATStatus &lhs, const SATStatus &rhs)
 OKlib::SATCompetition::OKLIB_DERIVED_UNEQUAL (SATStatus) bool operator<(const SATStatus &lhs
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const AverageTime &e)
bool OKlib::SATCompetition::operator== (const AverageTime &lhs, const AverageTime &rhs)
 OKlib::SATCompetition::OKLIB_DERIVED_UNEQUAL (AverageTime) class TimeOut
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const TimeOut &e)
bool OKlib::SATCompetition::operator== (const TimeOut &lhs, const TimeOut &rhs)
 OKlib::SATCompetition::OKLIB_DERIVED_UNEQUAL (TimeOut) bool operator<(const TimeOut &lhs
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const TupleResult &t)
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const TupleResultRandomSat &t)
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const ResultBasis &r)
std::ostream & OKlib::SATCompetition::operator<< (std::ostream &out, const ResultBasis *const r)
bool OKlib::SATCompetition::operator== (const TupleResult &lhs, const Result &rhs)
bool OKlib::SATCompetition::operator== (const Result &lhs, const TupleResult &rhs)
bool OKlib::SATCompetition::operator!= (const TupleResult &lhs, const Result &rhs)
bool OKlib::SATCompetition::operator!= (const Result &lhs, const TupleResult &rhs)
bool OKlib::SATCompetition::operator== (const TupleResultRandomSat &lhs, const ResultRandomSat &rhs)
bool OKlib::SATCompetition::operator== (const ResultRandomSat &lhs, const TupleResultRandomSat &rhs)
bool OKlib::SATCompetition::operator!= (const TupleResultRandomSat &lhs, const ResultRandomSat &rhs)
bool OKlib::SATCompetition::operator!= (const ResultRandomSat &lhs, const TupleResultRandomSat &rhs)

Variables

 OKlib::SATCompetition::Series
 OKlib::SATCompetition::Benchmark
 OKlib::SATCompetition::Solver
 OKlib::SATCompetition::SATStatus
 OKlib::SATCompetition::AverageTime
TimeOut OKlib::SATCompetition::TupleResult

Detailed Description

Classes for representing results of one solver on one problem instance.

A polymorphic class hierarchy with ResultElement at the base, with derived class ResultElement_with_name, from which SuperSeries, Series, Benchmark and Solver are derived, while SATStatus, AverageTime and TimeOut are directly derived from ResultElement.

Combining all these classes we have a polymorphic hierarchy with ResultBasis as the abstract base class, and derived from it Result and ResultRandomSatBasis, where the latter is again an abstract base class, from which ResultRandomSat is derived.

Todo:
Writing doxygen comments for all classes in here.

Definition in file SingleResult.hpp.