Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

space

Synopsis

struct space;

This is a parser.

Description

space accepts one white space character. The result of parsing is the parsed character.

Header

#include <boost/metaparse/space.hpp>

Expression semantics

The followin are equivalent:

space

accept_when<one_char, util::is_whitespace<>, errors::whitespace_expected>

Example

#include <boost/metaparse/space.hpp>
#include <boost/metaparse/start.hpp>
#include <boost/metaparse/string.hpp>
#include <boost/metaparse/is_error.hpp>
#include <boost/metaparse/get_remaining.hpp>

#include <type_traits>

using namespace boost::metaparse;

static_assert(
  std::is_same<
    BOOST_METAPARSE_STRING(" foo"),
    get_remaining<space::apply<BOOST_METAPARSE_STRING("  foo"), start>>::type
  >::type::value,
  "it should consume the first space of the input"
);

static_assert(
  is_error<space::apply<BOOST_METAPARSE_STRING("x"), start>>::type::value,
  "it should return an error when the input does not begin with a whitespace"
);

PrevUpHomeNext