SYMBOL INDEX (573 symbols across 7 files) FILE: 3rdparty/doctest/doctest.h function namespace (line 389) | namespace doctest { namespace detail { function namespace (line 455) | namespace std { // NOLINT (cert-dcl58-cpp) function namespace (line 487) | namespace doctest { function String (line 985) | String convert(U* p) { function String (line 995) | static String convert(R C::*p) { type typename (line 1031) | typedef typename detail::underlying_type::type UT; function class (line 1040) | class DOCTEST_INTERFACE Approx function namespace (line 1127) | namespace detail { function Result (line 1212) | struct DOCTEST_INTERFACE Result function namespace (line 1527) | namespace assertAction { function binary_assert (line 1569) | bool binary_assert(assertType::Enum at, const char* file, int line, function unary_assert (line 1584) | bool unary_assert(assertType::Enum at, const char* file, int line, function IExceptionTranslator (line 1600) | struct DOCTEST_INTERFACE IExceptionTranslator function translate (line 1614) | bool translate(String& res) const override { function convert (line 1638) | void convert(std::ostream* s, const T& in) { function convert (line 1644) | static void convert(std::ostream* s, const char* in) { *s << String(in); } type StringStreamBase (line 1648) | struct StringStreamBase function convert (line 1651) | void convert(std::ostream* s, const T& in) { function need_to_destroy (line 1694) | bool need_to_destroy{true}; function stringify (line 1706) | void stringify(std::ostream* s) const override { lambda_(s); } function MessageBuilder (line 1715) | struct DOCTEST_INTERFACE MessageBuilder : public MessageData function namespace (line 1785) | namespace doctest_detail_test_suite_ns { function namespace (line 1789) | namespace doctest { function throw_exception (line 3085) | void throw_exception(Ex const& e) { function stricmp (line 3102) | int stricmp(const char* a, const char* b) { type Endianness (line 3124) | struct Endianness function String (line 3144) | String rawMemoryToString(const void* object, unsigned size) { function DOCTEST_THREAD_LOCAL (line 3160) | DOCTEST_THREAD_LOCAL class function String (line 3187) | String tlssPop() { function namespace (line 3193) | namespace timer_large_integer type timer_large_integer (line 3203) | typedef timer_large_integer::type ticks_t; function ticks_t (line 3206) | ticks_t getCurrentTicks() { return DOCTEST_CONFIG_GETCURRENTTICKS(); } function ticks_t (line 3208) | ticks_t getCurrentTicks() { function ticks_t (line 3219) | ticks_t getCurrentTicks() { type Timer (line 3226) | struct Timer type CacheLineAlignedAtomic (line 3258) | struct CacheLineAlignedAtomic function resetRunData (line 3353) | void resetRunData() { function finalizeTestCaseData (line 3364) | void finalizeTestCaseData() { function setOnHeap (line 3432) | void String::setOnHeap() { *reinterpret_cast(&buf[last])... function setLast (line 3433) | void String::setLast(unsigned in) { buf[last] = char(in); } function copy (line 3435) | void String::copy(const String& other) { function const (line 3545) | char String::operator[](unsigned i) const { function compare (line 3569) | int String::compare(const char* other, bool no_case) const { function compare (line 3575) | int String::compare(const String& other, bool no_case) const { function operator (line 3585) | bool operator< (const String& lhs, const String& rhs) { return lhs.compa... function operator (line 3586) | bool operator> (const String& lhs, const String& rhs) { return lhs.compa... function color_to_stream (line 3594) | void color_to_stream(std::ostream&, Color::Enum) DOCTEST_BRANCH_ON_DISAB... function namespace (line 3597) | namespace Color { function String (line 3709) | String toString(char* in) { return toString(static_cast(in)... function String (line 3711) | String toString(const char* in) { return String("\"") + (in ? in : "{nul... function String (line 3713) | String toString(bool in) { return in ? "true" : "false"; } function String (line 3714) | String toString(float in) { return fpToString(in, 5) + "f"; } function String (line 3715) | String toString(double in) { return fpToString(in, 10); } function String (line 3716) | String toString(double long in) { return fpToString(in, 15); } function String (line 3737) | String toString(std::nullptr_t) { return "NULL"; } function String (line 3741) | String toString(const std::string& in) { return in.c_str(); } function Approx (line 3749) | Approx Approx::operator()(double value) const { function String (line 3782) | String toString(const Approx& in) { function ContextOptions (line 3786) | const ContextOptions* getContextOptions() { return DOCTEST_BRANCH_ON_DIS... function namespace (line 3791) | namespace doctest { function namespace (line 3828) | namespace doctest_detail_test_suite_ns { function namespace (line 3836) | namespace doctest { function fileOrderComparator (line 4094) | bool fileOrderComparator(const TestCase* lhs, const TestCase* rhs) { function suiteOrderComparator (line 4106) | bool suiteOrderComparator(const TestCase* lhs, const TestCase* rhs) { function nameOrderComparator (line 4114) | bool nameOrderComparator(const TestCase* lhs, const TestCase* rhs) { function color_to_stream (line 4122) | void color_to_stream(std::ostream& s, Color::Enum code) { function DOCTEST_CLANG_SUPPRESS_WARNING_POP (line 4195) | DOCTEST_CLANG_SUPPRESS_WARNING_POP function isDebuggerActive (line 4272) | bool isDebuggerActive() { function isDebuggerActive (line 4295) | bool isDebuggerActive() { return ::IsDebuggerPresent() != 0; } function isDebuggerActive (line 4297) | bool isDebuggerActive() { return false; } function registerExceptionTranslatorImpl (line 4301) | void registerExceptionTranslatorImpl(const IExceptionTranslator* et) { function toStream (line 4308) | void toStream(std::ostream* s, char* in) { *s << in; } function toStream (line 4309) | void toStream(std::ostream* s, const char* in) { *s << in; } function toStream (line 4311) | void toStream(std::ostream* s, bool in) { *s << std::boolalpha << in << ... function toStream (line 4312) | void toStream(std::ostream* s, float in) { *s << in; } function toStream (line 4313) | void toStream(std::ostream* s, double in) { *s << in; } function toStream (line 4314) | void toStream(std::ostream* s, double long in) { *s << in; } function toStream (line 4316) | void toStream(std::ostream* s, char in) { *s << in; } function toStream (line 4317) | void toStream(std::ostream* s, char signed in) { *s << in; } function toStream (line 4318) | void toStream(std::ostream* s, char unsigned in) { *s << in; } function toStream (line 4319) | void toStream(std::ostream* s, int short in) { *s << in; } function toStream (line 4320) | void toStream(std::ostream* s, int short unsigned in) { *s << in; } function toStream (line 4321) | void toStream(std::ostream* s, int in) { *s << in; } function toStream (line 4322) | void toStream(std::ostream* s, int unsigned in) { *s << in; } function toStream (line 4323) | void toStream(std::ostream* s, int long in) { *s << in; } function toStream (line 4324) | void toStream(std::ostream* s, int long unsigned in) { *s << in; } function toStream (line 4325) | void toStream(std::ostream* s, int long long in) { *s << in; } function toStream (line 4326) | void toStream(std::ostream* s, int long long unsigned in) { *s << in; } function DOCTEST_CLANG_SUPPRESS_WARNING_POP (line 4362) | DOCTEST_CLANG_SUPPRESS_WARNING_POP function addAssert (line 4622) | void addAssert(assertType::Enum at) { function addFailedAssert (line 4627) | void addFailedAssert(assertType::Enum at) { function reportFatal (line 4633) | void reportFatal(const std::string& message) { function namespace (line 4651) | namespace detail { function setResult (line 4671) | void ResultBuilder::setResult(const Result& res) { function translateException (line 4676) | void ResultBuilder::translateException() { function log (line 4681) | bool ResultBuilder::log() { function failed_out_of_a_testing_context (line 4716) | void failed_out_of_a_testing_context(const AssertData& ad) { function decomp_assert (line 4723) | bool decomp_assert(assertType::Enum at, const char* file, int line, cons... function log (line 4752) | bool MessageBuilder::log() { function react (line 4772) | void MessageBuilder::react() { function class (line 4787) | class XmlEncode { function class (line 4802) | class XmlWriter { function trailingBytes (line 4883) | size_t trailingBytes(unsigned char c) { function headerValue (line 4896) | uint32_t headerValue(unsigned char c) { function hexEscapeChar (line 4909) | void hexEscapeChar(std::ostream& os, unsigned char c) { function encodeTo (line 4924) | void XmlEncode::encodeTo( std::ostream& os ) const { function ensureTagClosed (line 5138) | void XmlWriter::ensureTagClosed() { function writeDeclaration (line 5145) | void XmlWriter::writeDeclaration() { function newlineIfNecessary (line 5149) | void XmlWriter::newlineIfNecessary() { function IReporter (line 5162) | struct XmlReporter : public IReporter function fulltext_log_assert_to_stream (line 5397) | void fulltext_log_assert_to_stream(std::ostream& s, const AssertData& rb) { function IReporter (line 5452) | struct JUnitReporter : public IReporter type JUnitTestMessage (line 5482) | struct JUnitTestMessage type JUnitTestCase (line 5493) | struct JUnitTestCase function add (line 5503) | void add(const std::string& classname, const std::string& name) { function appendSubcaseNamesToLastTestcase (line 5507) | void appendSubcaseNamesToLastTestcase(std::vector nameStack) { function line (line 5545) | unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; } function report_query (line 5551) | void report_query(const QueryData&) override {} function test_run_start (line 5553) | void test_run_start() override {} function test_run_end (line 5555) | void test_run_end(const TestRunStats& p) override { function test_case_start (line 5602) | void test_case_start(const TestCaseData& in) override { function test_case_reenter (line 5607) | void test_case_reenter(const TestCaseData& in) override { function test_case_end (line 5616) | void test_case_end(const CurrentTestCaseStats&) override { function test_case_exception (line 5622) | void test_case_exception(const TestCaseException& e) override { function subcase_start (line 5627) | void subcase_start(const SubcaseSignature& in) override { function subcase_end (line 5631) | void subcase_end() override {} function log_assert (line 5633) | void log_assert(const AssertData& rb) override { function log_message (line 5648) | void log_message(const MessageData&) override {} function test_case_skipped (line 5650) | void test_case_skipped(const TestCaseData&) override {} function log_contexts (line 5652) | void log_contexts(std::ostringstream& s) { type Whitespace (line 5669) | struct Whitespace function separator_to_stream (line 5706) | void separator_to_stream() { function log_contexts (line 5730) | void log_contexts() { function logTestStart (line 5754) | void logTestStart() { function printVersion (line 5786) | void printVersion() { function printIntro (line 5792) | void printIntro() { function printHelp (line 5800) | void printHelp() { function printReporters (line 5919) | auto printReporters = [this] (const reporterMap& reporters, const char* ... function ConsoleReporter (line 6138) | struct DebugOutputWindowReporter : public ConsoleReporter function parseFlag (line 6222) | bool parseFlag(int argc, const char* const* argv, const char* pattern) { function parseCommaSepArgs (line 6227) | bool parseCommaSepArgs(int argc, const char* const* argv, const char* pa... type optionType (line 6272) | enum optionType function parseIntOption (line 6279) | bool parseIntOption(int argc, const char* const* argv, const char* patte... function applyCommandLine (line 6327) | void Context::applyCommandLine(int argc, const char* const* argv) { function parseArgs (line 6334) | void Context::parseArgs(int argc, const char* const* argv, bool withDefa... function addFilter (line 6460) | void Context::addFilter(const char* filter, const char* value) { setOpti... function DOCTEST_MSVC_SUPPRESS_WARNING_POP (line 6729) | DOCTEST_MSVC_SUPPRESS_WARNING_POP function get_num_active_contexts (line 6780) | int IReporter::get_num_active_contexts() { return detail::g_infoContexts... function IContextScope (line 6781) | const IContextScope* const* IReporter::get_active_contexts() { function get_num_stringified_contexts (line 6785) | int IReporter::get_num_stringified_contexts() { return detail::g_cs->str... function String (line 6786) | const String* IReporter::get_stringified_contexts() { function namespace (line 6790) | namespace detail { function main (line 6805) | int main(int argc, char** argv) { return doctest::Context(argc, argv).ru... FILE: src/cxx-ipr-io.cxx type ipr (line 22) | namespace ipr { function Printer (line 25) | static Printer& sequenced(Printer& pp, const Sequence& s, F f) function Printer (line 33) | static Printer& comma_separated(Printer& pp, const Sequence& s) function Printer (line 45) | Printer& operator<<(Printer& p, Mapping_level x) function Printer (line 52) | Printer& operator<<(Printer& p, Decl_position x) type pp_base (line 59) | struct pp_base : Constant_visitor { method pp_base (line 60) | explicit pp_base(Printer& p) : pp(p) { } method visit (line 62) | void visit(const Type& t) override { visit(as(t)); } method visit (line 63) | void visit(const Decl& d) override { visit(as(d)); } function Printer (line 77) | Printer& type Token_helper (line 93) | struct Token_helper { method Token_helper (line 95) | Token_helper(T t) : value(t) { } function token (line 99) | inline Token_helper function Printer (line 106) | inline Printer& function Printer (line 112) | inline Printer& type needs_newline (line 118) | struct needs_newline { } function Printer (line 120) | inline Printer& type newline (line 127) | struct newline { } function Printer (line 129) | Printer& function Printer (line 141) | static inline Printer& function Printer (line 149) | static inline Printer& function Printer (line 157) | static inline Printer& type xpr_initializer (line 163) | struct xpr_initializer { method xpr_initializer (line 165) | explicit xpr_initializer(const ipr::Expr& e) : expr(e) { } type indentation (line 170) | struct indentation { method indentation (line 172) | indentation(int n) : amount(n) { } function Printer (line 175) | inline Printer& type newline_and_indent (line 182) | struct newline_and_indent { method newline_and_indent (line 184) | newline_and_indent(int n = 0) : indentation(n) { } function Printer (line 187) | inline Printer& type xpr_primary_expr (line 194) | struct xpr_primary_expr { method xpr_primary_expr (line 196) | explicit xpr_primary_expr(const Expr& e) : expr(e) { } type xpr_cast_expr (line 200) | struct xpr_cast_expr { method xpr_cast_expr (line 202) | xpr_cast_expr(const Expr& e) : expr(e) { } type xpr_assignment_expression (line 206) | struct xpr_assignment_expression { method xpr_assignment_expression (line 208) | xpr_assignment_expression(const Expr& e) : expr(e) { } type xpr_exception_spec (line 213) | struct xpr_exception_spec { type xpr_identifier (line 219) | struct xpr_identifier { method xpr_identifier (line 222) | explicit xpr_identifier(const ipr::String& s) : txt{s.characters()} { } method xpr_identifier (line 225) | explicit xpr_identifier(const char8_t (&s)[N]) : txt{s} { } function Printer (line 228) | static inline Printer& function Printer (line 238) | Printer& function Printer (line 244) | Printer& operator<<(Printer& pp, const Logogram& l) type xpr (line 268) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final type xpr_name (line 361) | struct xpr_name { method xpr_name (line 363) | explicit xpr_name(const Name& n) : name(n) { } method xpr_name (line 364) | explicit xpr_name(const Decl& d) : name(d.name()) { } function Printer (line 367) | static inline Printer& type xpr (line 382) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 473) | static inline Printer& type xpr_postfix_expr (line 482) | struct xpr_postfix_expr { method xpr_postfix_expr (line 484) | explicit xpr_postfix_expr(const Expr& e) : expr(e) { } function new_style_cast (line 490) | void type xpr (line 498) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 591) | static inline Printer& function unary_operation (line 606) | inline void type xpr (line 612) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final type xpr (line 674) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 688) | static inline Printer& type xpr_pm_expr (line 701) | struct xpr_pm_expr { method xpr_pm_expr (line 703) | explicit xpr_pm_expr(const Expr& e) : expr(e) { } function offset_with_pm (line 709) | static void type xpr (line 717) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 726) | static inline Printer& function binary_expression (line 737) | inline void type xpr_mul_expr (line 751) | struct xpr_mul_expr { method xpr_mul_expr (line 753) | explicit xpr_mul_expr(const Expr& e) : expr(e) { } type xpr (line 756) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 775) | static inline Printer& type xpr_add_expr (line 788) | struct xpr_add_expr { method xpr_add_expr (line 790) | explicit xpr_add_expr(const Expr& e) : expr(e) { } type xpr (line 793) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 809) | static inline Printer& type xpr_shift_expr (line 823) | struct xpr_shift_expr { method xpr_shift_expr (line 825) | explicit xpr_shift_expr(const Expr& e) : expr(e) { } type xpr (line 828) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 844) | static inline Printer& type xpr_rel_expr (line 860) | struct xpr_rel_expr { method xpr_rel_expr (line 862) | explicit xpr_rel_expr(const Expr& e) : expr(e) { } type xpr (line 865) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 891) | static inline Printer& type xpr_eq_expr (line 904) | struct xpr_eq_expr { method xpr_eq_expr (line 906) | explicit xpr_eq_expr(const Expr& e) : expr(e) { } type xpr (line 909) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 925) | static inline Printer& type xpr_and_expr (line 938) | struct xpr_and_expr { method xpr_and_expr (line 940) | explicit xpr_and_expr(const Expr& e) : expr(e) { } type xpr (line 943) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 954) | static inline Printer& type xpr_xor_expr (line 966) | struct xpr_xor_expr { method xpr_xor_expr (line 968) | explicit xpr_xor_expr(const Expr& e) : expr(e) { } type xpr (line 971) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 982) | static inline Printer& type xpr_ior_expr (line 995) | struct xpr_ior_expr { method xpr_ior_expr (line 997) | explicit xpr_ior_expr(const Expr& e) : expr(e) { } type xpr (line 1000) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1011) | static inline Printer& type xpr_land_expr (line 1024) | struct xpr_land_expr { method xpr_land_expr (line 1026) | explicit xpr_land_expr(const Expr& e) : expr(e) { } type xpr (line 1029) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1040) | static inline Printer& type xpr_lor_expr (line 1053) | struct xpr_lor_expr { method xpr_lor_expr (line 1055) | explicit xpr_lor_expr(const Expr& e) : expr(e) { } type xpr (line 1058) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1069) | static inline Printer& type xpr (line 1082) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final type xpr_mapping_expression (line 1097) | struct xpr_mapping_expression { method xpr_mapping_expression (line 1099) | explicit xpr_mapping_expression(const Mapping& m) : mapping(m) { } type xpr_mapping_expression_visitor (line 1106) | struct xpr_mapping_expression_visitor : pp_base { method xpr_mapping_expression_visitor (line 1108) | xpr_mapping_expression_visitor(Printer& p, const ipr::Mapping& m) : ... method visit (line 1110) | void visit(const Function& t) final method visit (line 1120) | void visit(const Forall&) final function Printer (line 1130) | Printer& type xpr (line 1146) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1218) | Printer& type xpr_expr_visitor (line 1230) | struct xpr_expr_visitor : pp_base { method xpr_expr_visitor (line 1231) | xpr_expr_visitor(Printer& p) : pp_base(p) { } method visit (line 1233) | void visit(const Comma& e) final method visit (line 1239) | void visit(const Scope& s) final method visit (line 1244) | void visit(const Expr_list& e) final { pp << e; } method visit (line 1246) | void visit(const Member_init& e) final method visit (line 1252) | void visit(const Type& t) final { pp << xpr_type(t); } method visit (line 1253) | void visit(const Expr& e) final { pp << xpr_assignment_expression(e); } method visit (line 1254) | void visit(const Stmt& s) final { pp << xpr_stmt(s); } method visit (line 1255) | void visit(const Decl& d) final function Printer (line 1264) | Printer& function Printer (line 1274) | static Printer& type xpr_base_classes (line 1299) | struct xpr_base_classes { method xpr_base_classes (line 1301) | explicit xpr_base_classes(const ipr::Sequence& b) function Printer (line 1305) | static Printer& function Printer (line 1317) | Printer& Printer::operator<<(Qualifiers quals) type xpr_type_expr (line 1324) | struct xpr_type_expr { method xpr_type_expr (line 1326) | explicit xpr_type_expr(const Expr& t) : type(t) { } function Printer (line 1330) | static Printer& operator<<(Printer& pp, const ipr::Udt& t) type xpr_type_expr_visitor (line 1348) | struct xpr_type_expr_visitor : pp_base { method xpr_type_expr_visitor (line 1349) | xpr_type_expr_visitor(Printer& p) : pp_base(p) { } method visit (line 1351) | void visit(const Array& a) final method visit (line 1357) | void visit(const As_type& t) final method visit (line 1362) | void visit(const Class& c) final method visit (line 1374) | void visit(const Decltype& t) final method visit (line 1380) | void visit(const Function& f) final method visit (line 1387) | void visit(const Pointer& t) final method visit (line 1392) | void visit(const Ptr_to_member& t) final method visit (line 1401) | void visit(const Qualified& t) final method visit (line 1407) | void visit(const Reference& t) final method visit (line 1412) | void visit(const Rvalue_reference& t) final method visit (line 1417) | void visit(const Forall& t) final method visit (line 1424) | void visit(const Union& t) final { pp << t; } method visit (line 1425) | void visit(const Enum& t) final { pp << t; } method visit (line 1426) | void visit(const Namespace& t) final { pp << t; } function Printer (line 1430) | static Printer& type xpr_type_visitor (line 1442) | struct xpr_type_visitor : pp_base { method xpr_type_visitor (line 1443) | xpr_type_visitor(Printer& p) : pp_base(p) { } method visit (line 1445) | void visit(const As_type& t) final method visit (line 1453) | void visit(const Array& a) final method visit (line 1456) | void visit(const Function& f) final method visit (line 1459) | void visit(const Pointer& t) final method visit (line 1462) | void visit(const Ptr_to_member& t) final method visit (line 1465) | void visit(const Qualified& t) final method visit (line 1468) | void visit(const Reference& t) final method visit (line 1471) | void visit(const Rvalue_reference& t) final method visit (line 1474) | void visit(const Forall& t) final method visit (line 1477) | void visit(const Type& t) final method visit (line 1483) | void visit(const Product& t) final method visit (line 1488) | void visit(const Sum& t) final function Printer (line 1495) | Printer& function Printer (line 1505) | static Printer& type xpr (line 1537) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1745) | Printer& function Printer (line 1758) | Printer& Printer::operator<<(Specifiers spec) type xpr (line 1769) | namespace xpr { type Name (line 269) | struct Name : pp_base { method Name (line 270) | explicit Name(Printer& p) : pp_base(p) { } method visit (line 272) | void visit(const Identifier& id) final method visit (line 285) | void visit(const Operator& o) final method visit (line 303) | void visit(const Conversion& c) final method visit (line 314) | void visit(const Suffix& s) final method visit (line 323) | void visit(const Type_id& n) final method visit (line 332) | void visit(const Scope_ref& n) final method visit (line 339) | void visit(const Template_id& n) final method visit (line 347) | void visit(const Ctor_name&) final method visit (line 354) | void visit(const Dtor_name&) final type Primary_expr (line 383) | struct Primary_expr : xpr::Name { method Primary_expr (line 384) | Primary_expr(Printer& pp) : xpr::Name(pp) { } method visit (line 386) | void visit(const Label& l) final { xpr::Name::visit(l.name()); } method visit (line 387) | void visit(const Id_expr& id) final { pp << xpr_name{ id.name() }; } method visit (line 389) | void visit(const Symbol& s) final { pp << xpr_name{ s.name() }; } method visit (line 390) | void visit(const As_type& t) final method visit (line 397) | void visit(const Phantom&) final { } method visit (line 398) | void visit(const Enclosure& e) final method visit (line 404) | void visit(const Expr& e) override method visit (line 408) | void visit(const Decl& d) override { d.name().accept(*this); } type Postfix_expr (line 501) | struct Postfix_expr : xpr::Primary_expr { method Postfix_expr (line 502) | Postfix_expr(Printer& pp) : xpr::Primary_expr(pp) { } method visit (line 505) | void visit(const Array_ref& e) final method visit (line 512) | void visit(const Dot& e) final method visit (line 519) | void visit(const Arrow& e) final method visit (line 526) | void visit(const Call& e) final method visit (line 532) | void visit(const Construction& e) final method visit (line 539) | void visit(const Post_decrement& e) final method visit (line 545) | void visit(const Post_increment& e) final method visit (line 551) | void visit(const Dynamic_cast& e) final method visit (line 557) | void visit(const Static_cast& e) final method visit (line 563) | void visit(const Const_cast& e) final method visit (line 569) | void visit(const Reinterpret_cast& e) final method visit (line 575) | void visit(const Typeid& e) final method visit (line 582) | void visit(const Noexcept& e) final type Unary_expr (line 613) | struct Unary_expr : xpr::Postfix_expr { method Unary_expr (line 614) | Unary_expr(Printer& pp) : xpr::Postfix_expr(pp) { } method visit (line 616) | void visit(const Pre_decrement& e) final { unary_operation(pp, e, ... method visit (line 618) | void visit(const Pre_increment& e) final { unary_operation(pp, e, ... method visit (line 620) | void visit(const Address& e) final { unary_operation(pp, e, "&"); } method visit (line 622) | void visit(const Complement& e) final { unary_operation(pp, e, "~"... method visit (line 624) | void visit(const Deref& e) final { unary_operation(pp, e, "*"); } method visit (line 626) | void visit(const Unary_minus& e) final { unary_operation(pp, e, "-... method visit (line 628) | void visit(const Not& e) final { unary_operation(pp, e, "!"); } method visit (line 630) | void visit(const Sizeof& e) final method visit (line 636) | void visit(const Args_cardinality& e) final method visit (line 642) | void visit(const Unary_plus& e) final method visit (line 647) | void visit(const New& e) final method visit (line 656) | void visit(const Delete& e) final method visit (line 663) | void visit(const Array_delete& e) final type Cast_expr (line 675) | struct Cast_expr : xpr::Unary_expr { method Cast_expr (line 676) | Cast_expr(Printer& p) : xpr::Unary_expr(p) { } method visit (line 681) | void visit(const Cast& e) final type Pm_expr (line 718) | struct Pm_expr : xpr::Cast_expr { method Pm_expr (line 719) | Pm_expr(Printer& p) : xpr::Cast_expr(p) { } method visit (line 721) | void visit(const Dot_star& e) final { offset_with_pm(pp, e, ".*"); } method visit (line 722) | void visit(const Arrow_star& e) final { offset_with_pm(pp, e, "->*... type Mul_expr (line 757) | struct Mul_expr : xpr::Pm_expr { method Mul_expr (line 758) | Mul_expr(Printer& p) : xpr::Pm_expr(p) { } method visit (line 760) | void visit(const Mul& e) final method visit (line 764) | void visit(const Div& e) final method visit (line 768) | void visit(const Modulo& e) final type Add_expr (line 794) | struct Add_expr : xpr::Mul_expr { method Add_expr (line 795) | Add_expr(Printer& p) : xpr::Mul_expr(p) { } method visit (line 797) | void visit(const Plus& e) final method visit (line 802) | void visit(const Minus& e) final type Shift_expr (line 829) | struct Shift_expr : xpr::Add_expr { method Shift_expr (line 830) | Shift_expr(Printer& p) : xpr::Add_expr(p) { } method visit (line 832) | void visit(const Lshift& e) final method visit (line 837) | void visit(const Rshift& e) final type Rel_expr (line 866) | struct Rel_expr : xpr::Shift_expr { method Rel_expr (line 867) | Rel_expr(Printer& p) : xpr::Shift_expr(p) { } method visit (line 869) | void visit(const Less& e) final method visit (line 874) | void visit(const Less_equal& e) final method visit (line 879) | void visit(const Greater& e) final method visit (line 884) | void visit(const Greater_equal& e) final type Eq_expr (line 910) | struct Eq_expr : xpr::Rel_expr { method Eq_expr (line 911) | Eq_expr(Printer& p) : xpr::Rel_expr(p) { } method visit (line 913) | void visit(const Equal& e) final method visit (line 918) | void visit(const Not_equal& e) final type And_expr (line 944) | struct And_expr : xpr::Eq_expr { method And_expr (line 945) | And_expr(Printer& p) : xpr::Eq_expr(p) { } method visit (line 947) | void visit(const Bitand& e) final type Xor_expr (line 972) | struct Xor_expr : xpr::And_expr { method Xor_expr (line 973) | Xor_expr(Printer& p) : xpr::And_expr(p) { } method visit (line 975) | void visit(const Bitxor& e) final type Ior_expr (line 1001) | struct Ior_expr : xpr::Xor_expr { method Ior_expr (line 1002) | Ior_expr(Printer& p) : xpr::Xor_expr(p) { } method visit (line 1004) | void visit(const Bitor& e) final type Land_expr (line 1030) | struct Land_expr : xpr::Ior_expr { method Land_expr (line 1031) | Land_expr(Printer& p) : xpr::Ior_expr(p) { } method visit (line 1033) | void visit(const And& e) final type Lor_expr (line 1059) | struct Lor_expr : xpr::Land_expr { method Lor_expr (line 1060) | Lor_expr(Printer& p) : xpr::Land_expr(p) { } method visit (line 1062) | void visit(const Or& e) final type Cond_expr (line 1083) | struct Cond_expr : xpr::Lor_expr { method Cond_expr (line 1084) | Cond_expr(Printer& p) : xpr::Lor_expr(p) { } method visit (line 1086) | void visit(const Conditional& e) final type Assignment_expr (line 1147) | struct Assignment_expr : xpr::Cond_expr { method Assignment_expr (line 1148) | Assignment_expr(Printer& p) : xpr::Cond_expr(p) { } method visit (line 1150) | void visit(const Assign& e) final method visit (line 1155) | void visit(const Plus_assign& e) final method visit (line 1160) | void visit(const Bitand_assign& e) final method visit (line 1165) | void visit(const Bitor_assign& e) final method visit (line 1170) | void visit(const Bitxor_assign& e) final method visit (line 1175) | void visit(const Div_assign& e) final method visit (line 1180) | void visit(const Modulo_assign& e) final method visit (line 1185) | void visit(const Mul_assign& e) final method visit (line 1190) | void visit(const Lshift_assign& e) final method visit (line 1195) | void visit(const Rshift_assign& e) final method visit (line 1200) | void visit(const Minus_assign& e) final method visit (line 1205) | void visit(const Throw& e) final method visit (line 1211) | void visit(const Mapping& m) final type Stmt (line 1538) | struct Stmt : xpr::Assignment_expr { method Stmt (line 1539) | Stmt(Printer& p) : xpr::Assignment_expr(p) { } method visit (line 1541) | void visit(const Expr_stmt& e) final method visit (line 1548) | void visit(const Labeled_stmt& s) final method visit (line 1564) | void visit(const Block& s) final method visit (line 1575) | void visit(const Ctor_body& b) final method visit (line 1585) | void visit(const If& s) final method visit (line 1601) | void visit(const Return& s) final method visit (line 1610) | void visit(const Switch& s) final method visit (line 1620) | void visit(const While& s) final method visit (line 1630) | void visit(const Do& s) final method visit (line 1642) | void visit(const For& s) final method visit (line 1657) | void visit(const For_in& s) final method visit (line 1670) | void visit(const Break&) final method visit (line 1677) | void visit(const Continue&) final method visit (line 1684) | void visit(const Goto& s) final method visit (line 1693) | void visit(const Handler& s) final method visit (line 1705) | void visit(const Decl& d) override type Location_printer (line 1713) | struct Location_printer method print (line 1733) | static void print(Printer& printer, const ipr::Node& node) type Decl (line 1770) | struct Decl : xpr::Stmt { method Decl (line 1771) | Decl(Printer& p) : xpr::Stmt(p) { } method visit (line 1773) | void visit(const ipr::Alias& d) final method visit (line 1782) | void visit(const ipr::Decl& d) override method visit (line 1797) | void visit(const Typedecl& d) final method visit (line 1807) | void visit(const Enumerator& e) final method visit (line 1814) | void visit(const Bitfield& b) final method visit (line 1823) | void visit(const Base_type& b) final method visit (line 1828) | void visit(const Fundecl& f) final method visit (line 1844) | void visit(const Template& m) final function Printer (line 1853) | Printer& function Printer (line 1867) | Printer& FILE: src/cxx-ipr-traversal.cxx type ipr (line 17) | namespace ipr { function structurally_same (line 20) | inline bool function structurally_same (line 28) | inline bool function structurally_same (line 38) | inline bool FILE: src/cxx-ipr.cxx type ipr::impl (line 25) | namespace ipr::impl { type Node (line 27) | struct Node : T { method accept (line 29) | void accept(ipr::Visitor& v) const final { v.visit(*this); } type ipr (line 33) | namespace ipr { function String (line 34) | const String& String::empty_string() FILE: src/impl.cxx type ipr::impl (line 21) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 35) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 146) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 184) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 198) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 204) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::impl (line 243) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) type ipr::util (line 261) | namespace ipr::util { type ipr::cxx_form::impl (line 283) | namespace ipr::cxx_form::impl { function Monadic_constraint (line 288) | Monadic_constraint* form_factory::make_monadic_constraint(const ipr::I... function Monadic_constraint (line 293) | Monadic_constraint* form_factory::make_monadic_constraint(const ipr::E... function Polyadic_constraint (line 298) | Polyadic_constraint* form_factory::make_polyadic_constraint(const ipr:... function Polyadic_constraint (line 303) | Polyadic_constraint* form_factory::make_polyadic_constraint(const ipr:... function Simple_requirement (line 308) | Simple_requirement* form_factory::make_simple_requirement(const ipr::E... function Type_requirement (line 313) | Type_requirement* form_factory::make_type_requirement(const ipr::Name& n) function Type_requirement (line 318) | Type_requirement* form_factory::make_type_requirement(const ipr::Expr&... function Compound_requirement (line 323) | Compound_requirement* form_factory::make_compound_requirement(const ip... function Nested_requirement (line 328) | Nested_requirement* form_factory::make_nested_requirement(const ipr::E... function Pointer_indirector (line 333) | Pointer_indirector* form_factory::make_pointer_indirector(ipr::Qualifi... function Reference_indirector (line 338) | Reference_indirector* form_factory::make_reference_indirector(Referenc... function Member_indirector (line 343) | Member_indirector* form_factory::make_member_indirector(const ipr::Exp... function Unqualified_id_species (line 348) | Unqualified_id_species* form_factory::make_unqualified_id_species() function Unqualified_id_species (line 353) | Unqualified_id_species* form_factory::make_unqualified_id_species(cons... function Pack_species (line 358) | Pack_species* form_factory::make_pack_species() function Pack_species (line 363) | Pack_species* form_factory::make_pack_species(const ipr::Identifier& id) function Qualified_id_species (line 368) | Qualified_id_species* form_factory::make_qualified_id_species(const ip... function Function_morphism (line 373) | Function_morphism* form_factory::make_function_morphism(const ipr::Reg... function Array_morphism (line 378) | Array_morphism* form_factory::make_array_morphism() function Parenthesized_species (line 383) | Parenthesized_species* form_factory::make_parenthesized_species() function Term_declarator (line 388) | Term_declarator* form_factory::make_term_declarator() function Targeted_declarator (line 393) | Targeted_declarator* form_factory::make_targeted_declarator(const cxx_... function Classic_provision (line 398) | Classic_provision* form_factory::make_classic_provision(const cxx_form... function Parenthesized_provision (line 403) | Parenthesized_provision* form_factory::make_parenthesized_provision(co... function Braced_provision (line 408) | Braced_provision* form_factory::make_braced_provision() function Designated_list_provision (line 413) | Designated_list_provision* form_factory::make_designated_provision() function Field_designator (line 418) | Field_designator* form_factory::make_field_designator(const ipr::Ident... function Slot_designator (line 423) | Slot_designator* form_factory::make_slot_designator(const ipr::Expr& x) type ipr::impl (line 429) | namespace ipr::impl { type Invisible_logogram (line 23) | struct Invisible_logogram : ipr::Logogram { type std_identifier (line 39) | struct std_identifier : impl::Node, ipr::Logogram { method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } function word_less (line 108) | constexpr bool word_less(const std_identifier& x, const std_identifier... function std_identifier (line 127) | constexpr const std_identifier& known_word(const char8_t* s) method std_identifier (line 40) | constexpr std_identifier(const char8_t* p) : str{p} { } method text (line 42) | constexpr auto text() const { return str.characters(); } type Natural_transfer (line 186) | struct Natural_transfer : ipr::Transfer { function Builtin (line 218) | constexpr Builtin builtins[] { function Builtin (line 224) | constexpr const Builtin& builtin(Fundamental t) type Nullptr (line 249) | struct Nullptr : impl::Node { method Nullptr (line 250) | constexpr Nullptr() : typing{*this} { } function make (line 573) | auto make(stable_farm& factory, const Args&... args) function compare (line 989) | inline int compare(const ipr::Calling_convention& x, const ipr::Callin... function compare (line 994) | inline int compare(const ipr::Transfer& x, const ipr::Transfer& y) type unary_compare (line 1005) | struct unary_compare { type unary_lexicographic_compare (line 1038) | struct unary_lexicographic_compare { type binary_compare (line 1074) | struct binary_compare { type id_compare (line 1094) | struct id_compare type unified_type_compare (line 1114) | struct unified_type_compare type Comparator (line 1194) | struct Comparator { type ternary_compare (line 1210) | struct ternary_compare { type Comparator (line 1267) | struct Comparator { function Category_code (line 1424) | Category_code Binary_fold::operation() const { return fold_op; } function General_substitution (line 1434) | General_substitution& General_substitution::subst(const ipr::Parameter... function Region (line 1629) | Region* function Materialization (line 1843) | Materialization* type UnknownLogogramError (line 2339) | struct UnknownLogogramError { method UnknownLogogramError (line 2341) | UnknownLogogramError(util::word_view w) : what{w} { } method UnknownLogogramError (line 2342) | UnknownLogogramError(Basic_specifier s) : what{s.logogram().what().c... method UnknownLogogramError (line 2343) | UnknownLogogramError(Basic_qualifier q) : what{q.logogram().what().c... function project (line 2347) | constexpr auto project(auto s, auto& table, auto pred) type Basis (line 2361) | struct Basis { method T (line 2362) | consteval T operator[](const char8_t* s) const method T (line 2369) | T operator()(S s) const method decompose (line 2375) | static std::vector decompose(T element) FILE: src/input.cxx type ipr::input (line 23) | namespace ipr::input { function valid_category (line 29) | bool valid_category(LineSort k) function valid_species (line 35) | bool valid_species(LineSpecies s) type SystemHandle (line 76) | struct SystemHandle { method SystemHandle (line 77) | SystemHandle(HANDLE h) : handle{h} { } method valid (line 78) | bool valid() const { return handle != INVALID_HANDLE_VALUE; } method get_handle (line 79) | auto get_handle() const { return handle; } type stat (line 112) | struct stat function white_space (line 165) | static inline bool white_space(char8_t c) function PhysicalLine (line 209) | PhysicalLine SourceFile::LineRange::iterator::operator*() const noexcept type StandardDirective (line 228) | struct StandardDirective { function StandardDirective (line 264) | const StandardDirective* get_standard_directive(std::u8string_view s) function may_begin_standard_directive (line 274) | inline bool may_begin_standard_directive(char8_t c) function narrow_letter_or_digit (line 286) | inline bool narrow_letter_or_digit(char8_t c) function skip_blank (line 295) | inline void skip_blank(const char8_t*& cursor, const char8_t* end) function LineSpecies (line 302) | LineSpecies species(SourceFile::View line) function LineSpecies (line 327) | LineSpecies species(const SourceFile& src, const CompositeLine& compos... function LineDepot (line 339) | LineDepot read_lines(const SourceFile& src) function SimpleLine (line 388) | const SimpleLine& SourceListing::simple_line(LineDescriptor line) const function CompositeLine (line 396) | const CompositeLine& SourceListing::composite_line(LineDescriptor line... FILE: tests/unit-tests/warehouse.cxx function FragileWarehouse (line 17) | FragileWarehouse() : types() {}