mrdocs
Core MrDocs support utilities.
Description
The public mrdocs namespace here centralizes assert/assume hooks so we can swap behavior (terminate, throw, debugbreak) in one place without leaking platform specifics into the rest of the codebase.
Namespaces
Name |
Description |
Compile‐time reflection over structs, enums, and their bases. |
|
Doc‐comment enums and helpers that describe admonition kinds. |
|
Objects representing JSON‐like values. |
|
Filesystem helpers (join, temp, real‐path resolution) used throughout MrDocs. |
|
The Handlebars template engine. |
|
Handlebars‐based generators and the pieces that support them. |
|
JavaScript interop helpers for the embedded runtime. |
|
Lua interop helpers for the optional scripting/backend integration. |
|
Standard‐library polyfills. |
|
Reporting utilities (messages, statistics, sinks). |
Types
Name |
Description |
Polymorphic visitor for files discovered during traversal. |
|
C++ array type (bounded or unbounded). |
|
A non‐owning, read‐only view over a contiguous array of T. |
|
The |
|
A C++ attribute attached to a symbol. |
|
CRTP base that ties a concrete attribute to a fixed AttributeKind. |
|
Represents |
|
Metadata for a direct base. |
|
Transparent case‐insensitive equality functor for string‐like keys. |
|
Transparent case‐insensitive hash functor for string‐like keys. |
|
The |
|
Info for concepts. |
|
Configuration used to generate the Corpus and Docs. |
|
Represents an expression with a (possibly known) value |
|
Non‐type template argument. |
|
A constant template parameter |
|
The collection of declarations in extracted form. |
|
|
|
The |
|
A processed documentation comment attached to a declaration. |
|
Front‐end factory for producing Dom nodes. |
|
Info for enum constants. |
|
Metadata for an enumeration declaration. |
|
Holds the description of an error, or success. |
|
Type of all exceptions thrown by the API. |
|
A set of execution agents for performing concurrent work. |
|
Base class that owns a pool of execution agents and a shared work queue. |
|
Stores only the operand of the explicit‐specifier or noexcept‐specifier as a string. The complete expression is not preserved at this time. This is a temporary design and may be improved in the future. |
|
Represents an expression |
|
The user extension scripts declared by a configuration, loaded. |
|
The |
|
A format string with source location. |
|
Info for friend declarations. |
|
Metadata for a function or method. |
|
Function type with parameters, qualifiers, and noexcept info. |
|
Base class for documentation generators. |
|
A glob pattern matcher |
|
Info for deduction guides. |
|
Represents an identifier |
|
The |
|
An lvalue reference type. |
|
The |
|
Source location of a symbol or entity. |
|
Info for preprocessor macros. |
|
The |
|
Pointer‐to‐member type (object or function). |
|
The compilation database driving extraction. |
|
Represents a name for a named |
|
A type identified by name (possibly fundamental). |
|
Info for namespace aliases. |
|
Describes a namespace and its members. |
|
Buckets the members that appear inside a namespace. |
|
The |
|
The |
|
Captures a |
|
The |
|
A compact optional that automatically uses nullable_traits<T> when available. |
|
An attribute mrdocs does not treat specially. |
|
Combines multiple callable types into a single overloaded function object. |
|
Represents a set of function overloads. |
|
Represents a single function parameter |
|
The result of a parse operation. |
|
A parsed symbol reference (see lib/AST/ParseRef.hpp). |
|
A component of a parsed symbol reference. |
|
A glob pattern matcher for paths |
|
Pointer type wrapper. |
|
A polymorphic value‐type. |
|
An rvalue reference type. |
|
Range adapter to expose first/last flags inside range‐for loops. |
|
The aggregated interface for a given struct, class, or union. |
|
Metadata for struct, class, or union. |
|
A group of members that have the same access specifier. |
|
Reference directories used to resolve paths |
|
Execute a callable when the enclosing scope exits unless dismissed. |
|
RAII helper that restores a referenced value on scope exit. |
|
Stores source information for a declaration. |
|
A source location with filename prettification. |
|
Represents a (possibly qualified) symbol name with template arguments. |
|
A lazy input range of std::string_view lines split on all known line breaks. |
|
Transparent hash functor for string‐like keys. |
|
A list of strings that accepts several input forms. |
|
Base class with common properties of all symbols |
|
Base class for providing variant discriminator functions. |
|
A glob pattern matcher for C++ symbols |
|
A unique identifier for a symbol. |
|
Base class for any template argument. |
|
CRTP base that fixes the argument kind. |
|
Base class for a template parameter declaration. |
|
CRTP base that fixes the parameter kind. |
|
A subset of possible work in a thread pool. |
|
Information about templates and specializations thereof. |
|
Template template argument. |
|
Template template parameter. |
|
A pool of threads for executing work concurrently. |
|
A possibly qualified type. |
|
CRTP base that ties a concrete type to a fixed TypeKind. |
|
Type template argument. |
|
Type template parameter. |
|
Info for typedef and using declarations. |
|
The |
|
Info for using declarations. |
|
A variable. |
|
Enables recursive lambdas by passing a self‐reference as the first argument. |
|
Propagate const qualification from |
|
Propagate both const and volatile qualifiers from |
|
Propagate cv‐qualification and reference category from |
|
Propagate lvalue‐reference from |
|
Propagate reference qualification from |
|
Propagate rvalue‐reference from |
|
Propagate volatile qualification from |
|
A movable, type‐erased function object. |
|
Dependent alias of |
|
nullable_traits<T> defines how to treat a T as “nullable” without an external engaged bit. |
|
Defines a customization point for types that have an intrinsic sentinel value denoting “null”. |
|
A scoped guard which unlocks a mutex. |
Type Aliases
Name |
Description |
Base class for accessing an empty expected. |
|
The mrdocs result type: |
|
unordered_multimap keyed by std::string, matching keys case‐insensitively. |
|
unordered_map keyed by std::string with transparent hashing. |
|
unordered_multimap keyed by std::string with transparent hashing. |
|
Alias for |
|
Alias for |
|
Alias for |
|
Alias for |
|
Alias for |
|
Alias for |
|
Alias for |
|
Alias for |
Enums
Name |
Description |
Access specifier. |
|
The kind of a C++ attribute. |
|
The kind of |
|
|
|
Explicit specifier kinds |
|
Determine why a symbol is extracted |
|
Classifies where a file originates from. |
|
Function classifications |
|
Categorically describes a fundamental type. |
|
Classification of list ordering. |
|
Kinds of names that appear in type and symbol metadata. |
|
Exception specification kinds |
|
Operator kinds |
|
Type qualifiers |
|
The kind of record: struct, class, or union. |
|
Reference type kinds |
|
Storage class kinds |
|
Info variant discriminator |
|
The kind of template argument. |
|
The keyword a template parameter was declared with |
|
Discriminates the different template parameter categories. |
|
Horizontal alignment for table columns. |
|
The kind of template or specialization. |
|
Variants of C++ types captured in metadata. |
|
The class of using declaration. |
Functions
Name |
Description |
Compares two polymorphic objects that have visit functions |
|
Append a new function overload to the set. |
|
|
|
Handler invoked when |
|
Traverse a DocComment tree bottom‐up (post‐order). |
|
Build a DOM object representing an entire corpus. |
|
Build the DOM value for a single symbol. |
|
Check whether two symbols may be merged. |
|
|
|
|
|
Compare two strings for case‐insensitive ASCII equality. |
|
Return the result of comparing s0 to s1. |
|
Determine if a range contains a specific element. |
|
Determine if a range contains any of the specified elements. |
|
Determine if a range contains at least N instances of the specified element. |
|
Determine if a range contains at least N instances of any of the specified elements. |
|
Count the number of SymbolKind enumerators. |
|
|
|
|
|
|
|
Determine if a string ends with one of the specified characters |
|
Find a generator by its id. |
|
Find the last element in a range that matches an element in the specified range. |
|
|
|
Return a formatted error. |
|
Formats a duration into a human‐readable string. |
|
Parse the base58 string form of a SymbolID. |
|
Convert a string to a FundamentalTypeKind. |
|
Return the default accessibility for a record key kind. |
|
Return the short name of an operator as a string. |
|
Return the short name of an operator as a string. |
|
Return the name of an operator as a string. |
|
Return the human‐readable name of the operator |
|
Return the parents of the specified symbol |
|
|
|
Return the safe name of an operator as a string. |
|
Return the short name of an operator as a string. |
|
Return the inner type. |
|
Return the inner type. |
|
|
|
Install a custom generator. |
|
|
|
|
|
Determines whether the operator is potentially binary. |
|
Check whether a function is a copy assignment operator. |
|
Check whether a function is a copy constructor. |
|
Check whether a function is a default constructor. |
|
|
|
|
|
Check whether a function is a move assignment operator. |
|
Check whether a function is a move constructor. |
|
Check whether a function is a special member function. |
|
Determines whether the operator is potentially unary. |
|
|
|
|
|
is_null helper that uses nullable_traits<T> if available. |
|
Determine if an element is equal to any of the elements in the specified range. |
|
Return true if the polymorphic object holds a value of type To. |
|
Return true if pointer is non‐null and referent is of type To. |
|
Compare ExtractionModes and returns the least specific |
|
|
|
Apply the "char" specifier to the type |
|
Apply the "long" specifier to the type |
|
Factory function that creates an Overload from the given callables. |
|
Apply the "short" specifier to the type |
|
Apply the "signed" specifier to the type |
|
Apply the "unsigned" specifier to the type |
|
|
|
make_null helper that uses nullable_traits<T> if available. |
|
Applies a set of callables to a std::variant using std::visit and Overload. |
|
|
|
Compare ExtractionModes and returns the most specific |
|
null_of helper that constructs a null T using nullable_traits<T>. |
|
Pipe a contiguous character range into the adaptor. |
|
Determine if one function would override the other |
|
Parse a string view |
|
The fully‐qualified runtime name of a type |
|
The fully‐qualified name of a type |
|
Reindent code by removing the common leading spaces and adding the specified indent. |
|
Return the substring without leading and trailing horizontal whitespace. |
|
|
|
|
|
|
|
Determine if a string starts with one of the specified characters |
|
|
|
|
|
Convert a SymbolID to a string |
|
Convert a SymbolID to its canonical string form. |
|
Convert a string to |
|
Parse a YAML document into a DOM object. |
|
Convert a string to |
|
|
|
Convert a string to |
|
Convert a string to |
|
|
|
|
|
Return the value as its underlying type. |
|
Traverse a DocComment tree top‐down (pre‐order). |
|
|
|
The unqualified runtime name of a type |
|
The unqualified name of a type |
|
Visit a polymorphic object by matching its kind to a derived type. |
|
Visits a std::variant and calls the combined callable with the active index and the value. |
|
Factory that creates a YCombinator from a callable. |
|
Equality operators |
|
Inequality operators |
|
Less‐than operators |
|
Less‐than‐or‐equal operators |
|
Greater‐than operators |
|
Greater‐than‐or‐equal operators |
|
Three‐way comparison operators |
Variables
Name |
Description |
Whether |
|
Whether |
Concepts
Name |
Description |
Internal concept that matches “empty‐clear default‐constructible” types. |
|
True if T has described members (for comparison). |
|
Concept to check if a type represents a DocComment node. |
|
Types that can be traversed by DocComment helpers. |
|
Concept to determine if there's a parse function for a type. |
|
Concept that is satisfied when sentinel_traits<T> declares a usable sentinel. |
|
A concept for types that have |
|
Determine if a type is dereferenceable |
|
Utility concept that returns true if T has a nullable_traits specialization enabled. |
|
Concept to check if a type is pair‐like |
|
Concept to check if a type is representing a polymorphic storage |
|
Concept to check if a type is a range of T |
|
Concept to check if a range is a range of tuple‐like elements |
|
Satisfied when |
|
Concept to check if a type is tuple‐like |
Using Declarations
Name |
Description |
Construct an unexpected (error) value, as passed to |
|
|
True when binding |
|
Like |
Alias to |
|
Tag value of type |
|
Tag type used to construct an |
Created with MrDocs