mrdocs
Core MrDocs support utilities.
Namespaces
Name |
Description |
Doc‐comment enums and helpers that describe admonition kinds. |
|
Objects representing JSON‐like values. |
|
Filesystem helpers (join, temp, canonicalize) used throughout MrDocs. |
|
Handlebars helper registry for templates. |
|
JavaScript interop helpers for the embedded runtime. |
|
Lua interop helpers for the optional scripting/backend integration. |
|
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. |
|
Represents |
|
Base class for accessing an empty Expected. |
|
Exception thrown when reading the value of an empty Expected. |
|
Metadata for a direct base. |
|
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. |
|
|
|
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. |
|
A container holding an error or a value. |
|
Expected specialization for |
|
Expected specialization for lvalue references. Holds either a bound reference to |
|
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 |
|
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 dynamic list of |
|
A glob pattern matcher |
|
Info for deduction guides. |
|
A handlebars environment |
|
An error thrown or returned by Handlebars |
|
Options for handlebars |
|
Represents an identifier |
|
An lvalue reference type. |
|
Source location of a symbol or entity. |
|
Pointer‐to‐member type (object or function). |
|
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. |
|
Captures a |
|
A compact optional that automatically uses nullable_traits<T> when available. |
|
Optional reference wrapper that never owns storage. |
|
Reference to output stream used by handlebars |
|
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 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. |
|
Range adaptor that constructs a SplitLinesView. |
|
A lazy input range of std::string_view lines split on all known line breaks. |
|
Transparent hash functor for string‐like keys. |
|
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. |
|
Holds an unexpected error value for Expected. |
|
Info for using declarations. |
|
A variable. |
|
A visitor for a type |
|
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. |
|
Type‐erased callable wrapper for signature |
|
Dependent alias of |
|
nullable_traits<T> defines how to treat a T as “nullable” without an external engaged bit. |
|
nullable_traits specialization for Location. |
|
nullable_traits for types with a sentinel. |
|
nullable_traits for Polymorphic<T>. |
|
Defines a customization point for types that have an intrinsic sentinel value denoting “null”. |
|
sentinel_traits specialization for std::nullptr_t. |
|
sentinel_traits specialization for unsigned integral types. |
|
sentinel_traits specialization for raw pointers. |
|
Tag type used to select unexpected construction. |
|
A scoped guard which unlocks a mutex. |
|
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 |
|
|
|
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). |
|
Check whether two symbols may be merged. |
|
|
|
|
|
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. |
|
Create child data objects. |
|
|
|
|
|
Determine if a string ends with one of the specified characters |
|
Find the last element in a range that matches an element in the specified range. |
|
|
|
Return a formatted error. |
|
Convert a string to a FundamentalTypeKind. |
|
Return the default accessibility for a record key kind. |
|
Return a reference to the global Generators instance. |
|
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 safe name of an operator as a string. |
|
Return the short name of an operator as a string. |
|
Return the full path for single page output. |
|
Return the inner type. |
|
Return the inner type. |
|
|
|
|
|
|
|
Determines whether the operator is potentially binary. |
|
|
|
Determine if a value is empty |
|
|
|
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 a visitor for a base 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 |
|
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 string to |
|
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). |
|
|
|
|
|
Visits a std::variant and calls the combined callable with the active index and the value. |
|
Factory that creates a YCombinator from a callable. |
|
Write to output |
|
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 |
Split a string view into lines, recognizing all common line breaks |
|
Tag object to request unexpected construction. |
Concepts
Name |
Description |
Internal concept that matches “empty‐clear default‐constructible” types. |
|
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 |
|
|
Like |
|
True when binding |
Concept to check if a type is tuple‐like |
Deduction Guides
Name |
Description |
Deduce ArrayView element type from C‐style array. |
|
Deduce ArrayView element type from pointer and count. |
|
Class template argument deduction guide for Overload. |
|
Deduction guide for RangeFor. |
|
Deduction guide for ScopeExit. |
|
Deduction guide for ScopeExitRestore taking a reference. |
|
Deduction guide for ScopeExitRestore taking a reference and new value. |
|
Deduction guide for Unexpected, forwarding the error type. |
Using Declarations
Name |
Description |
Alias to |
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.
Doc‐comment enums and helpers that describe admonition kinds.
Reporting utilities (messages, statistics, sinks).
The report namespace owns severity enums, message structs, and output sinks so tooling and libraries emit diagnostics in a uniform, testable format regardless of UI.
Created with MrDocs