mirror of
https://github.com/matrix-construct/construct
synced 2024-09-27 19:28:52 +02:00
ircd::spirit: Add substring_view; additional imports.
This commit is contained in:
parent
f2bdcd7859
commit
0c1e2be81a
1 changed files with 19 additions and 0 deletions
|
@ -49,6 +49,7 @@ namespace ircd {
|
||||||
namespace spirit
|
namespace spirit
|
||||||
__attribute__((visibility("default")))
|
__attribute__((visibility("default")))
|
||||||
{
|
{
|
||||||
|
struct substring_view;
|
||||||
template<class parent_error> struct expectation_failure;
|
template<class parent_error> struct expectation_failure;
|
||||||
|
|
||||||
extern thread_local char rulebuf[64]; // parse.cc
|
extern thread_local char rulebuf[64]; // parse.cc
|
||||||
|
@ -80,7 +81,9 @@ __attribute__((visibility("hidden")))
|
||||||
using _r3_type = phx::actor<spirit::attribute<3>>;
|
using _r3_type = phx::actor<spirit::attribute<3>>;
|
||||||
|
|
||||||
using spirit::unused_type;
|
using spirit::unused_type;
|
||||||
|
using spirit::auto_;
|
||||||
using spirit::_pass;
|
using spirit::_pass;
|
||||||
|
using spirit::_val;
|
||||||
|
|
||||||
using qi::locals;
|
using qi::locals;
|
||||||
using qi::_a;
|
using qi::_a;
|
||||||
|
@ -134,6 +137,7 @@ __attribute__((visibility("hidden")))
|
||||||
using karma::attr_cast;
|
using karma::attr_cast;
|
||||||
using karma::maxwidth;
|
using karma::maxwidth;
|
||||||
using karma::buffer;
|
using karma::buffer;
|
||||||
|
using karma::skip;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
namespace ircd::spirit::local
|
namespace ircd::spirit::local
|
||||||
|
@ -149,6 +153,21 @@ __attribute__((visibility("default")))
|
||||||
{
|
{
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
struct ircd::spirit::substring_view
|
||||||
|
:ircd::string_view
|
||||||
|
{
|
||||||
|
using _iterator = boost::spirit::karma::detail::indirect_iterator<const char *>;
|
||||||
|
using _iterator_range = boost::iterator_range<_iterator>;
|
||||||
|
|
||||||
|
using ircd::string_view::string_view;
|
||||||
|
explicit substring_view(const _iterator_range &range)
|
||||||
|
:ircd::string_view
|
||||||
|
{
|
||||||
|
std::addressof(*range.begin()), std::addressof(*range.end())
|
||||||
|
}
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
template<class parent_error>
|
template<class parent_error>
|
||||||
struct __attribute__((visibility("default")))
|
struct __attribute__((visibility("default")))
|
||||||
ircd::spirit::expectation_failure
|
ircd::spirit::expectation_failure
|
||||||
|
|
Loading…
Reference in a new issue