Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.
PrevUpHomeNext

Function template assert_matches_not

boost::proto::assert_matches_not — Assert at compile time that a particular expression does not match the specified grammar.

Synopsis

// In header: <boost/proto/debug.hpp>


template<typename Grammar, typename Expr> 
  void assert_matches_not(Expr const & expr);

Description

Use proto::assert_matches_not() to assert at compile-time that an expression does not match a grammar.

Example:

typedef proto::plus< proto::terminal< int >, proto::terminal< int > > PlusInts;

proto::assert_matches_not<PlusInts>( proto::lit("a string") + 42 );

See also:

Notes:

Equivalent to BOOST_MPL_ASSERT_NOT((proto::matches<Expr, Grammar>)).


PrevUpHomeNext