metaSMT 2
Classes | Public Types | Public Member Functions
metaSMT::GraphSolver_Context< SolverContext > Struct Template Reference

#include <GraphSolver_Context.hpp>

List of all members.

Classes

struct  Cmd_Caller0
struct  Cmd_Caller1
struct  create_x_result

Public Types

typedef SolverContext solver_type
typedef SMT_Expression result_type
typedef SolverContext::result_type solver_result

Public Member Functions

 GraphSolver_Context ()
 GraphSolver_Context (const GraphSolver_Context &ctx)
void assertion (SMT_Expression e)
void assumption (SMT_Expression e)
template<typename CMD , typename Arg >
boost::enable_if
< boost::is_same< typename
CMD::result_type, void >
>::type 
command (CMD const &cmd, Arg arg)
template<typename CMD >
boost::enable_if
< boost::is_same< typename
CMD::result_type, void >
>::type 
command (CMD const &cmd)
template<typename CMD >
CMD::result_type command (CMD const &cmd)
void command (assertion_cmd const &, result_type e)
void command (assumption_cmd const &, result_type e)
void sync ()
bool solve ()
void write_smt (std::ostream &os)
void write_smt (std::ostream &os, result_type r)
result_wrapper read_value (SMT_Expression var)
template<typename Expr >
SMT_Expression evaluate (Expr e)
SMT_Expression evaluate (result_type r)

Detailed Description

template<typename SolverContext>
struct metaSMT::GraphSolver_Context< SolverContext >

GraphSolver_Context takes a SolverType. All constraints are first forwarded to a Graph_Context, for deduplication and later handed to solver.

Definition at line 90 of file GraphSolver_Context.hpp.


Member Typedef Documentation

template<typename SolverContext>
typedef SMT_Expression metaSMT::GraphSolver_Context< SolverContext >::result_type

Definition at line 112 of file GraphSolver_Context.hpp.

template<typename SolverContext>
typedef SolverContext::result_type metaSMT::GraphSolver_Context< SolverContext >::solver_result

Definition at line 113 of file GraphSolver_Context.hpp.

template<typename SolverContext>
typedef SolverContext metaSMT::GraphSolver_Context< SolverContext >::solver_type

Definition at line 111 of file GraphSolver_Context.hpp.


Constructor & Destructor Documentation

template<typename SolverContext>
metaSMT::GraphSolver_Context< SolverContext >::GraphSolver_Context ( ) [inline]

Definition at line 92 of file GraphSolver_Context.hpp.

template<typename SolverContext>
metaSMT::GraphSolver_Context< SolverContext >::GraphSolver_Context ( const GraphSolver_Context< SolverContext > &  ctx) [inline, explicit]

Definition at line 96 of file GraphSolver_Context.hpp.


Member Function Documentation

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::assertion ( SMT_Expression  e) [inline]

Definition at line 115 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::assumption ( SMT_Expression  e) [inline]

Definition at line 126 of file GraphSolver_Context.hpp.

template<typename SolverContext>
template<typename CMD >
boost::enable_if< boost::is_same< typename CMD::result_type, void> >::type metaSMT::GraphSolver_Context< SolverContext >::command ( CMD const &  cmd) [inline]

Definition at line 164 of file GraphSolver_Context.hpp.

template<typename SolverContext>
template<typename CMD >
CMD::result_type metaSMT::GraphSolver_Context< SolverContext >::command ( CMD const &  cmd) [inline]

Definition at line 172 of file GraphSolver_Context.hpp.

template<typename SolverContext>
template<typename CMD , typename Arg >
boost::enable_if< boost::is_same< typename CMD::result_type, void> >::type metaSMT::GraphSolver_Context< SolverContext >::command ( CMD const &  cmd,
Arg  arg 
) [inline]

Definition at line 155 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::command ( assertion_cmd const &  ,
result_type  e 
) [inline]

Definition at line 178 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::command ( assumption_cmd const &  ,
result_type  e 
) [inline]

Definition at line 181 of file GraphSolver_Context.hpp.

template<typename SolverContext>
SMT_Expression metaSMT::GraphSolver_Context< SolverContext >::evaluate ( result_type  r) [inline]

Definition at line 248 of file GraphSolver_Context.hpp.

template<typename SolverContext>
template<typename Expr >
SMT_Expression metaSMT::GraphSolver_Context< SolverContext >::evaluate ( Expr  e) [inline]

Definition at line 246 of file GraphSolver_Context.hpp.

template<typename SolverContext>
result_wrapper metaSMT::GraphSolver_Context< SolverContext >::read_value ( SMT_Expression  var) [inline]

Definition at line 233 of file GraphSolver_Context.hpp.

template<typename SolverContext>
bool metaSMT::GraphSolver_Context< SolverContext >::solve ( ) [inline]

Definition at line 193 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::sync ( ) [inline]

Definition at line 186 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::write_smt ( std::ostream &  os,
result_type  r 
) [inline]

Definition at line 214 of file GraphSolver_Context.hpp.

template<typename SolverContext>
void metaSMT::GraphSolver_Context< SolverContext >::write_smt ( std::ostream &  os) [inline]

Definition at line 205 of file GraphSolver_Context.hpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines