mirror of
https://github.com/matrix-construct/construct
synced 2025-02-18 01:30:12 +01:00
ircd::spirit: Fix missing include guard/pragma; minor cleanup/comments.
This commit is contained in:
parent
19ede0f625
commit
b1f1e003d2
6 changed files with 30 additions and 21 deletions
|
@ -12,6 +12,7 @@
|
|||
// Portability Macros & Developer Tools
|
||||
//
|
||||
|
||||
#pragma once
|
||||
#define HAVE_IRCD_PORTABLE_H
|
||||
|
||||
//
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
#ifndef HAVE_IRCD_SPIRIT_H
|
||||
#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.
|
||||
///
|
||||
/// Note that directly sharing elements of a grammar between two compilation
|
||||
/// units can be achieved with forward declarations in `ircd/grammar.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.
|
||||
//
|
||||
// Note that directly sharing elements of a grammar between two compilation
|
||||
// units can be achieved with forward declarations in `ircd/grammar.h`.
|
||||
|
||||
// ircd.h is included here so that it can be compiled into this header. Then
|
||||
// this becomes the single leading precompiled header.
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
// copyright notice and this permission notice is present in all copies. The
|
||||
// full license for this software is available in the LICENSE file.
|
||||
|
||||
#pragma once
|
||||
#define HAVE_IRCD_SPIRIT_CHAR_H
|
||||
|
||||
#if defined(__clang__)
|
||||
template<class Derived>
|
||||
struct [[clang::internal_linkage, gnu::visibility("internal")]]
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
// copyright notice and this permission notice is present in all copies. The
|
||||
// full license for this software is available in the LICENSE file.
|
||||
|
||||
#pragma once
|
||||
#define HAVE_IRCD_SPIRIT_GENERATE_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. This file is automatically included in the spirit.h group.
|
||||
// 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. This file is automatically included in the spirit.h group.
|
||||
|
||||
namespace ircd {
|
||||
namespace spirit
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
#pragma once
|
||||
#define HAVE_IRCD_SPIRIT_PARSE_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. This file is automatically included in the spirit.h group.
|
||||
|
||||
namespace ircd {
|
||||
namespace spirit
|
||||
__attribute__((visibility("internal")))
|
||||
|
|
|
@ -42,9 +42,11 @@ __attribute__((visibility("internal")))
|
|||
using spirit::inf;
|
||||
|
||||
using qi::locals;
|
||||
using qi::_a;
|
||||
using qi::_a_type;
|
||||
using qi::_r1_type;
|
||||
using qi::attr_cast;
|
||||
using qi::attr;
|
||||
using qi::_a;
|
||||
using qi::raw;
|
||||
using qi::omit;
|
||||
using qi::matches;
|
||||
|
@ -52,8 +54,6 @@ __attribute__((visibility("internal")))
|
|||
using qi::eoi;
|
||||
using qi::eps;
|
||||
using qi::expect;
|
||||
using qi::attr;
|
||||
using qi::attr_cast;
|
||||
using qi::repeat;
|
||||
using qi::lit;
|
||||
using qi::char_;
|
||||
|
@ -84,17 +84,25 @@ __attribute__((visibility("internal")))
|
|||
using qi::little_bin_double;
|
||||
using spirit::repository::qi::seek;
|
||||
|
||||
using karma::attr_cast;
|
||||
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;
|
||||
using karma::skip;
|
||||
|
||||
namespace local
|
||||
{
|
||||
using qi::_0;
|
||||
using qi::_1;
|
||||
using qi::_2;
|
||||
using qi::_3;
|
||||
}
|
||||
|
||||
template<size_t idx,
|
||||
class semantic_context>
|
||||
auto &
|
||||
|
@ -106,14 +114,6 @@ __attribute__((visibility("internal")))
|
|||
local_at(semantic_context&&);
|
||||
}}
|
||||
|
||||
namespace ircd::spirit::local
|
||||
{
|
||||
using qi::_0;
|
||||
using qi::_1;
|
||||
using qi::_2;
|
||||
using qi::_3;
|
||||
}
|
||||
|
||||
template<size_t idx,
|
||||
class semantic_context>
|
||||
inline auto &
|
||||
|
|
Loading…
Add table
Reference in a new issue