2018-02-04 03:22:01 +01:00
|
|
|
// Matrix Construct
|
|
|
|
//
|
|
|
|
// Copyright (C) Matrix Construct Developers, Authors & Contributors
|
|
|
|
// Copyright (C) 2016-2018 Jason Volk <jason@zemos.net>
|
|
|
|
//
|
|
|
|
// Permission to use, copy, modify, and/or distribute this software for any
|
|
|
|
// purpose with or without fee is hereby granted, provided that the above
|
|
|
|
// copyright notice and this permission notice is present in all copies. The
|
|
|
|
// full license for this software is available in the LICENSE file.
|
2017-03-16 21:35:37 +01:00
|
|
|
|
2017-09-21 04:31:54 +02:00
|
|
|
#pragma once
|
|
|
|
#define HAVE_IRCD_SPIRIT_H
|
|
|
|
|
|
|
|
/// This file is not part of the IRCd standard include list (stdinc.h) because
|
|
|
|
/// it involves extremely expensive boost headers for creating formal spirit
|
|
|
|
/// grammars. Include this in a definition file which defines such grammars.
|
|
|
|
|
2017-03-16 21:35:37 +01:00
|
|
|
#include <boost/spirit/include/qi.hpp>
|
|
|
|
#include <boost/spirit/include/karma.hpp>
|
2018-01-18 12:39:19 +01:00
|
|
|
#include <boost/spirit/include/phoenix.hpp>
|
2017-03-16 21:35:37 +01:00
|
|
|
#include <boost/fusion/include/std_pair.hpp>
|
|
|
|
#include <boost/fusion/adapted/std_pair.hpp>
|
|
|
|
#include <boost/fusion/adapted/std_tuple.hpp>
|
2018-03-17 18:44:40 +01:00
|
|
|
|
|
|
|
namespace ircd::spirit
|
|
|
|
{
|
|
|
|
namespace spirit = boost::spirit;
|
|
|
|
namespace ascii = spirit::ascii;
|
|
|
|
namespace karma = spirit::karma;
|
|
|
|
namespace qi = spirit::qi;
|
|
|
|
|
|
|
|
using spirit::unused_type;
|
|
|
|
|
|
|
|
using qi::lit;
|
|
|
|
using qi::char_;
|
|
|
|
using qi::string;
|
|
|
|
using qi::short_;
|
2018-03-19 02:07:22 +01:00
|
|
|
using qi::ushort_;
|
2018-03-17 18:44:40 +01:00
|
|
|
using qi::int_;
|
2018-03-19 02:07:22 +01:00
|
|
|
using qi::uint_;
|
2018-03-17 18:44:40 +01:00
|
|
|
using qi::long_;
|
2018-03-19 02:07:22 +01:00
|
|
|
using qi::ulong_;
|
2018-03-17 18:44:40 +01:00
|
|
|
using qi::double_;
|
|
|
|
using qi::raw;
|
|
|
|
using qi::omit;
|
|
|
|
using qi::matches;
|
|
|
|
using qi::hold;
|
|
|
|
using qi::eoi;
|
|
|
|
using qi::eps;
|
|
|
|
using qi::attr;
|
|
|
|
using qi::attr_cast;
|
|
|
|
using qi::repeat;
|
|
|
|
using qi::_r1_type;
|
|
|
|
|
|
|
|
using karma::lit;
|
|
|
|
using karma::char_;
|
|
|
|
using karma::long_;
|
|
|
|
using karma::double_;
|
|
|
|
using karma::bool_;
|
|
|
|
using karma::eps;
|
|
|
|
using karma::attr_cast;
|
|
|
|
using karma::maxwidth;
|
|
|
|
using karma::buffer;
|
|
|
|
}
|