metaSMT 2
metaSMT/API/Assertion.hpp
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "../Features.hpp"
00004 
00005 namespace metaSMT {
00006   struct assertion_cmd { typedef void result_type; };
00007   
00032   template <typename Context_, typename Expr_>
00033   void assertion( Context_ & ctx, Expr_ const & e )
00034   {
00035     BOOST_MPL_ASSERT_MSG(
00036         ( features::supports< Context_, assertion_cmd>::value),
00037         context_does_not_support_assertion_api,
00038     );
00039 
00040     ctx.command(assertion_cmd(),  evaluate(ctx, e) );
00041   }
00043 } /* metaSMT */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines