[#mrdocs] = mrdocs :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 [cols="1,4"] |=== | Name| Description | xref:mrdocs/describe.adoc[`describe`] | Compile‐time reflection over structs, enums, and their bases. | xref:mrdocs/doc.adoc[`doc`] | Doc‐comment enums and helpers that describe admonition kinds. | xref:mrdocs/dom.adoc[`dom`] | Objects representing JSON‐like values. | xref:mrdocs/files.adoc[`files`] | Filesystem helpers (join, temp, real‐path resolution) used throughout MrDocs. | xref:mrdocs/handlebars.adoc[`handlebars`] | The Handlebars template engine. | xref:mrdocs/hbs.adoc[`hbs`] | Handlebars‐based generators and the pieces that support them. | xref:mrdocs/js.adoc[`js`] | JavaScript interop helpers for the embedded runtime. | xref:mrdocs/lua.adoc[`lua`] | Lua interop helpers for the optional scripting/backend integration. | xref:mrdocs/polyfill.adoc[`polyfill`] | Standard‐library polyfills. | xref:mrdocs/report.adoc[`report`] | Reporting utilities (messages, statistics, sinks). |=== == Types [cols="1,4"] |=== | Name| Description | xref:mrdocs/AnyFileVisitor.adoc[`AnyFileVisitor`] | Polymorphic visitor for files discovered during traversal. | xref:mrdocs/ArrayType.adoc[`ArrayType`] | C++ array type (bounded or unbounded). | xref:mrdocs/ArrayView-06.adoc[`ArrayView`] | A non‐owning, read‐only view over a contiguous array of T. | xref:mrdocs/AssumeAttribute.adoc[`AssumeAttribute`] | The `[[assume(expression)]]` attribute (C++23). | xref:mrdocs/Attribute.adoc[`Attribute`] | A C++ attribute attached to a symbol. | xref:mrdocs/AttributeCommonBase-01.adoc[`AttributeCommonBase`] | CRTP base that ties a concrete attribute to a fixed AttributeKind. | xref:mrdocs/AutoType.adoc[`AutoType`] | Represents `auto` or `decltype(auto)` placeholder type. | xref:mrdocs/BaseInfo.adoc[`BaseInfo`] | Metadata for a direct base. | xref:mrdocs/CIStringEqual.adoc[`CIStringEqual`] | Transparent case‐insensitive equality functor for string‐like keys. | xref:mrdocs/CIStringHash.adoc[`CIStringHash`] | Transparent case‐insensitive hash functor for string‐like keys. | xref:mrdocs/CarriesDependencyAttribute.adoc[`CarriesDependencyAttribute`] | The `[[carries_dependency]]` attribute (C++11): release‐consume dependency propagation. | xref:mrdocs/ConceptSymbol.adoc[`ConceptSymbol`] | Info for concepts. | xref:mrdocs/Config.adoc[`Config`] | Configuration used to generate the Corpus and Docs. | xref:mrdocs/ConstantExprInfo.adoc[`ConstantExprInfo`] | Represents an expression with a (possibly known) value | xref:mrdocs/ConstantTArg.adoc[`ConstantTArg`] | Non‐type template argument. | xref:mrdocs/ConstantTParam.adoc[`ConstantTParam`] | A constant template parameter | xref:mrdocs/Corpus.adoc[`Corpus`] | The collection of declarations in extracted form. | xref:mrdocs/DecltypeType.adoc[`DecltypeType`] | `decltype(expr)` type wrapper. | xref:mrdocs/DeprecatedAttribute.adoc[`DeprecatedAttribute`] | The `[[deprecated]]` attribute (C++14). | xref:mrdocs/DocComment.adoc[`DocComment`] | A processed documentation comment attached to a declaration. | xref:mrdocs/DomCorpus.adoc[`DomCorpus`] | Front‐end factory for producing Dom nodes. | xref:mrdocs/EnumConstantSymbol.adoc[`EnumConstantSymbol`] | Info for enum constants. | xref:mrdocs/EnumSymbol.adoc[`EnumSymbol`] | Metadata for an enumeration declaration. | xref:mrdocs/Error.adoc[`Error`] | Holds the description of an error, or success. | xref:mrdocs/Exception.adoc[`Exception`] | Type of all exceptions thrown by the API. | xref:mrdocs/ExecutorGroup.adoc[`ExecutorGroup`] | A set of execution agents for performing concurrent work. | xref:mrdocs/ExecutorGroupBase.adoc[`ExecutorGroupBase`] | Base class that owns a pool of execution agents and a shared work queue. | xref:mrdocs/ExplicitInfo.adoc[`ExplicitInfo`] | 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. | xref:mrdocs/ExprInfo.adoc[`ExprInfo`] | Represents an expression | xref:mrdocs/ExtensionRegistry.adoc[`ExtensionRegistry`] | The user extension scripts declared by a configuration, loaded. | xref:mrdocs/FallthroughAttribute.adoc[`FallthroughAttribute`] | The `[[fallthrough]]` attribute (C++17): an intentional switch fall‐through. | xref:mrdocs/FormatString.adoc[`FormatString`] | A format string with source location. | xref:mrdocs/FriendInfo.adoc[`FriendInfo`] | Info for friend declarations. | xref:mrdocs/FunctionSymbol.adoc[`FunctionSymbol`] | Metadata for a function or method. | xref:mrdocs/FunctionType.adoc[`FunctionType`] | Function type with parameters, qualifiers, and noexcept info. | xref:mrdocs/Generator.adoc[`Generator`] | Base class for documentation generators. | xref:mrdocs/GlobPattern.adoc[`GlobPattern`] | A glob pattern matcher | xref:mrdocs/GuideSymbol.adoc[`GuideSymbol`] | Info for deduction guides. | xref:mrdocs/IdentifierName.adoc[`IdentifierName`] | Represents an identifier | xref:mrdocs/IndeterminateAttribute.adoc[`IndeterminateAttribute`] | The `[[indeterminate]]` attribute (C++26): the object has an indeterminate value if uninitialized. | xref:mrdocs/LValueReferenceType.adoc[`LValueReferenceType`] | An lvalue reference type. | xref:mrdocs/LikelyAttribute.adoc[`LikelyAttribute`] | The `[[likely]]` attribute (C++20): this path is more likely. | xref:mrdocs/Location.adoc[`Location`] | Source location of a symbol or entity. | xref:mrdocs/MacroSymbol.adoc[`MacroSymbol`] | Info for preprocessor macros. | xref:mrdocs/MaybeUnusedAttribute.adoc[`MaybeUnusedAttribute`] | The `[[maybe_unused]]` attribute (C++17): suppresses unused‐entity warnings. | xref:mrdocs/MemberPointerType.adoc[`MemberPointerType`] | Pointer‐to‐member type (object or function). | xref:mrdocs/MrDocsCompilationDatabase.adoc[`MrDocsCompilationDatabase`] | The compilation database driving extraction. | xref:mrdocs/Name.adoc[`Name`] | Represents a name for a named `Type` | xref:mrdocs/NamedType.adoc[`NamedType`] | A type identified by name (possibly fundamental). | xref:mrdocs/NamespaceAliasSymbol.adoc[`NamespaceAliasSymbol`] | Info for namespace aliases. | xref:mrdocs/NamespaceSymbol.adoc[`NamespaceSymbol`] | Describes a namespace and its members. | xref:mrdocs/NamespaceTranche.adoc[`NamespaceTranche`] | Buckets the members that appear inside a namespace. | xref:mrdocs/NoUniqueAddressAttribute.adoc[`NoUniqueAddressAttribute`] | The `[[no_unique_address]]` attribute (C++20): the member need not have a unique address. | xref:mrdocs/NodiscardAttribute.adoc[`NodiscardAttribute`] | The `[[nodiscard]]` attribute (C++17, reason added in C++20). | xref:mrdocs/NoexceptInfo.adoc[`NoexceptInfo`] | Captures a `noexcept` specification and its evaluated form. | xref:mrdocs/NoreturnAttribute.adoc[`NoreturnAttribute`] | The `[[noreturn]]` attribute (C++11): the function does not return. | xref:mrdocs/Optional-03.adoc[`Optional`] | A compact optional that automatically uses nullable_traits<T> when available. | xref:mrdocs/OtherAttribute.adoc[`OtherAttribute`] | An attribute mrdocs does not treat specially. | xref:mrdocs/Overload-09.adoc[`Overload`] | Combines multiple callable types into a single overloaded function object. | xref:mrdocs/OverloadsSymbol.adoc[`OverloadsSymbol`] | Represents a set of function overloads. | xref:mrdocs/Param.adoc[`Param`] | Represents a single function parameter | xref:mrdocs/ParseResult.adoc[`ParseResult`] | The result of a parse operation. | xref:mrdocs/ParsedRef.adoc[`ParsedRef`] | A parsed symbol reference (see lib/AST/ParseRef.hpp). | xref:mrdocs/ParsedRefComponent.adoc[`ParsedRefComponent`] | A component of a parsed symbol reference. | xref:mrdocs/PathGlobPattern.adoc[`PathGlobPattern`] | A glob pattern matcher for paths | xref:mrdocs/PointerType.adoc[`PointerType`] | Pointer type wrapper. | xref:mrdocs/Polymorphic.adoc[`Polymorphic`] | A polymorphic value‐type. | xref:mrdocs/RValueReferenceType.adoc[`RValueReferenceType`] | An rvalue reference type. | xref:mrdocs/RangeFor-0f.adoc[`RangeFor`] | Range adapter to expose first/last flags inside range‐for loops. | xref:mrdocs/RecordInterface.adoc[`RecordInterface`] | The aggregated interface for a given struct, class, or union. | xref:mrdocs/RecordSymbol.adoc[`RecordSymbol`] | Metadata for struct, class, or union. | xref:mrdocs/RecordTranche.adoc[`RecordTranche`] | A group of members that have the same access specifier. | xref:mrdocs/ReferenceDirectories.adoc[`ReferenceDirectories`] | Reference directories used to resolve paths | xref:mrdocs/ScopeExit-0a.adoc[`ScopeExit`] | Execute a callable when the enclosing scope exits unless dismissed. | xref:mrdocs/ScopeExitRestore-01.adoc[`ScopeExitRestore`] | RAII helper that restores a referenced value on scope exit. | xref:mrdocs/SourceInfo.adoc[`SourceInfo`] | Stores source information for a declaration. | xref:mrdocs/SourceLocation.adoc[`SourceLocation`] | A source location with filename prettification. | xref:mrdocs/SpecializationName.adoc[`SpecializationName`] | Represents a (possibly qualified) symbol name with template arguments. | xref:mrdocs/SplitLinesView.adoc[`SplitLinesView`] | A lazy input range of std::string_view lines split on all known line breaks. | xref:mrdocs/StringHash.adoc[`StringHash`] | Transparent hash functor for string‐like keys. | xref:mrdocs/StringList.adoc[`StringList`] | A list of strings that accepts several input forms. | xref:mrdocs/Symbol.adoc[`Symbol`] | Base class with common properties of all symbols | xref:mrdocs/SymbolCommonBase-015.adoc[`SymbolCommonBase`] | Base class for providing variant discriminator functions. | xref:mrdocs/SymbolGlobPattern.adoc[`SymbolGlobPattern`] | A glob pattern matcher for C++ symbols | xref:mrdocs/SymbolID.adoc[`SymbolID`] | A unique identifier for a symbol. | xref:mrdocs/TArg.adoc[`TArg`] | Base class for any template argument. | xref:mrdocs/TArgCommonBase-06.adoc[`TArgCommonBase`] | CRTP base that fixes the argument kind. | xref:mrdocs/TParam.adoc[`TParam`] | Base class for a template parameter declaration. | xref:mrdocs/TParamCommonBase-0c.adoc[`TParamCommonBase`] | CRTP base that fixes the parameter kind. | xref:mrdocs/TaskGroup.adoc[`TaskGroup`] | A subset of possible work in a thread pool. | xref:mrdocs/TemplateInfo.adoc[`TemplateInfo`] | Information about templates and specializations thereof. | xref:mrdocs/TemplateTArg.adoc[`TemplateTArg`] | Template template argument. | xref:mrdocs/TemplateTParam.adoc[`TemplateTParam`] | Template template parameter. | xref:mrdocs/ThreadPool.adoc[`ThreadPool`] | A pool of threads for executing work concurrently. | xref:mrdocs/Type.adoc[`Type`] | A possibly qualified type. | xref:mrdocs/TypeCommonBase-0e.adoc[`TypeCommonBase`] | CRTP base that ties a concrete type to a fixed TypeKind. | xref:mrdocs/TypeTArg.adoc[`TypeTArg`] | Type template argument. | xref:mrdocs/TypeTParam.adoc[`TypeTParam`] | Type template parameter. | xref:mrdocs/TypedefSymbol.adoc[`TypedefSymbol`] | Info for typedef and using declarations. | xref:mrdocs/UnlikelyAttribute.adoc[`UnlikelyAttribute`] | The `[[unlikely]]` attribute (C++20): this path is less likely. | xref:mrdocs/UsingSymbol.adoc[`UsingSymbol`] | Info for using declarations. | xref:mrdocs/VariableSymbol.adoc[`VariableSymbol`] | A variable. | xref:mrdocs/YCombinator-0d0.adoc[`YCombinator`] | Enables recursive lambdas by passing a self‐reference as the first argument. | xref:mrdocs/add_const_from.adoc[`add_const_from`] | Propagate const qualification from `From` to `To`, keeping references. | xref:mrdocs/add_cv_from.adoc[`add_cv_from`] | Propagate both const and volatile qualifiers from `From` to `To`. | xref:mrdocs/add_cvref_from.adoc[`add_cvref_from`] | Propagate cv‐qualification and reference category from `From` to `To`. | xref:mrdocs/add_lvalue_reference_from.adoc[`add_lvalue_reference_from`] | Propagate lvalue‐reference from `From` to `To` if present. | xref:mrdocs/add_reference_from.adoc[`add_reference_from`] | Propagate reference qualification from `From` to `To`. | xref:mrdocs/add_rvalue_reference_from.adoc[`add_rvalue_reference_from`] | Propagate rvalue‐reference from `From` to `To` if present. | xref:mrdocs/add_volatile_from.adoc[`add_volatile_from`] | Propagate volatile qualification from `From` to `To`, keeping references. | xref:mrdocs/any_callable-01.adoc[`any_callable`] | A movable, type‐erased function object. | xref:mrdocs/make_dependent.adoc[`make_dependent`] | Dependent alias of `T`, useful for delaying instantiation. | xref:mrdocs/nullable_traits-0b.adoc[`nullable_traits`] | nullable_traits<T> defines how to treat a T as “nullable” without an external engaged bit. | xref:mrdocs/sentinel_traits-0a.adoc[`sentinel_traits`] | Defines a customization point for types that have an intrinsic sentinel value denoting “null”. | xref:mrdocs/unlock_guard.adoc[`unlock_guard`] | A scoped guard which unlocks a mutex. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:mrdocs/BadExpectedAccess.adoc[`BadExpectedAccess`] | Base class for accessing an empty expected. | xref:mrdocs/Expected.adoc[`Expected`] | The mrdocs result type: `polyfill::expected` defaulting the error to `Error`. | xref:mrdocs/UnorderedCIStringMultiMap.adoc[`UnorderedCIStringMultiMap`] | unordered_multimap keyed by std::string, matching keys case‐insensitively. | xref:mrdocs/UnorderedStringMap.adoc[`UnorderedStringMap`] | unordered_map keyed by std::string with transparent hashing. | xref:mrdocs/UnorderedStringMultiMap.adoc[`UnorderedStringMultiMap`] | unordered_multimap keyed by std::string with transparent hashing. | xref:mrdocs/add_const_from_t.adoc[`add_const_from_t`] | Alias for `add_const_from<From, To>::type`. | xref:mrdocs/add_cv_from_t.adoc[`add_cv_from_t`] | Alias for `add_cv_from<From, To>::type`. | xref:mrdocs/add_cvref_from_t.adoc[`add_cvref_from_t`] | Alias for `add_cvref_from<From, To>::type`. | xref:mrdocs/add_lvalue_reference_from_t.adoc[`add_lvalue_reference_from_t`] | Alias for `add_lvalue_reference_from<From, To>::type`. | xref:mrdocs/add_reference_from_t.adoc[`add_reference_from_t`] | Alias for `add_reference_from<From, To>::type`. | xref:mrdocs/add_rvalue_reference_from_t.adoc[`add_rvalue_reference_from_t`] | Alias for `add_rvalue_reference_from<From, To>::type`. | xref:mrdocs/add_volatile_from_t.adoc[`add_volatile_from_t`] | Alias for `add_volatile_from<From, To>::type`. | xref:mrdocs/make_dependent_t.adoc[`make_dependent_t`] | Alias for `make_dependent<T, U>::type`. |=== == Enums [cols="1,4"] |=== | Name| Description | xref:mrdocs/AccessKind.adoc[`AccessKind`] | Access specifier. | xref:mrdocs/AttributeKind.adoc[`AttributeKind`] | The kind of a C++ attribute. | xref:mrdocs/AutoKind.adoc[`AutoKind`] | The kind of `auto` keyword used in a declaration. | xref:mrdocs/ConstexprKind.adoc[`ConstexprKind`] | `constexpr`/`consteval` specifier kinds | xref:mrdocs/ExplicitKind.adoc[`ExplicitKind`] | Explicit specifier kinds | xref:mrdocs/ExtractionMode.adoc[`ExtractionMode`] | Determine why a symbol is extracted | xref:mrdocs/FileKind.adoc[`FileKind`] | Classifies where a file originates from. | xref:mrdocs/FunctionClass.adoc[`FunctionClass`] | Function classifications | xref:mrdocs/FundamentalTypeKind.adoc[`FundamentalTypeKind`] | Categorically describes a fundamental type. | xref:mrdocs/ListKind.adoc[`ListKind`] | Classification of list ordering. | xref:mrdocs/NameKind.adoc[`NameKind`] | Kinds of names that appear in type and symbol metadata. | xref:mrdocs/NoexceptKind.adoc[`NoexceptKind`] | Exception specification kinds | xref:mrdocs/OperatorKind.adoc[`OperatorKind`] | Operator kinds | xref:mrdocs/QualifierKind.adoc[`QualifierKind`] | Type qualifiers | xref:mrdocs/RecordKeyKind.adoc[`RecordKeyKind`] | The kind of record: struct, class, or union. | xref:mrdocs/ReferenceKind.adoc[`ReferenceKind`] | Reference type kinds | xref:mrdocs/StorageClassKind.adoc[`StorageClassKind`] | Storage class kinds | xref:mrdocs/SymbolKind.adoc[`SymbolKind`] | Info variant discriminator | xref:mrdocs/TArgKind.adoc[`TArgKind`] | The kind of template argument. | xref:mrdocs/TParamKeyKind.adoc[`TParamKeyKind`] | The keyword a template parameter was declared with | xref:mrdocs/TParamKind.adoc[`TParamKind`] | Discriminates the different template parameter categories. | xref:mrdocs/TableAlignmentKind.adoc[`TableAlignmentKind`] | Horizontal alignment for table columns. | xref:mrdocs/TemplateSpecKind.adoc[`TemplateSpecKind`] | The kind of template or specialization. | xref:mrdocs/TypeKind.adoc[`TypeKind`] | Variants of C++ types captured in metadata. | xref:mrdocs/UsingClass.adoc[`UsingClass`] | The class of using declaration. |=== == Functions [cols="1,4"] |=== | Name| Description | xref:mrdocs/CompareDerived-0f.adoc[`CompareDerived`] | Compares two polymorphic objects that have visit functions | xref:mrdocs/addMember.adoc[`addMember`] | Append a new function overload to the set. | xref:mrdocs/allMembers-0a.adoc[`allMembers`] | `allMembers` overloads | xref:mrdocs/assert_failed.adoc[`assert_failed`] | Handler invoked when `MRDOCS_ASSERT` fails. | xref:mrdocs/bottomUpTraverse.adoc[`bottomUpTraverse`] | Traverse a DocComment tree bottom‐up (post‐order). | xref:mrdocs/buildCorpusDom-0dd4.adoc[`buildCorpusDom`] | Build a DOM object representing an entire corpus. | xref:mrdocs/buildSymbolDom.adoc[`buildSymbolDom`] | Build the DOM value for a single symbol. | xref:mrdocs/canMerge.adoc[`canMerge`] | Check whether two symbols may be merged. | xref:mrdocs/cast-02.adoc[`cast`] | `cast` overloads | xref:mrdocs/cast_or_null-0c.adoc[`cast_or_null`] | `cast_or_null` overloads | xref:mrdocs/ciEqual.adoc[`ciEqual`] | Compare two strings for case‐insensitive ASCII equality. | xref:mrdocs/compareSymbolNames.adoc[`compareSymbolNames`] | Return the result of comparing s0 to s1. | xref:mrdocs/contains-064.adoc[`contains`] | Determine if a range contains a specific element. | xref:mrdocs/contains_any-00.adoc[`contains_any`] | Determine if a range contains any of the specified elements. | xref:mrdocs/contains_n.adoc[`contains_n`] | Determine if a range contains at least N instances of the specified element. | xref:mrdocs/contains_n_any-0e.adoc[`contains_n_any`] | Determine if a range contains at least N instances of any of the specified elements. | xref:mrdocs/countSymbolKind.adoc[`countSymbolKind`] | Count the number of SymbolKind enumerators. | xref:mrdocs/demangle-06.adoc[`demangle`] | `demangle` overloads | xref:mrdocs/dyn_cast-02.adoc[`dyn_cast`] | `dyn_cast` overloads | xref:mrdocs/dyn_cast_or_null-0f.adoc[`dyn_cast_or_null`] | `dyn_cast_or_null` overloads | xref:mrdocs/endsWithOneOf.adoc[`endsWithOneOf`] | Determine if a string ends with one of the specified characters | xref:mrdocs/findGenerator.adoc[`findGenerator`] | Find a generator by its id. | xref:mrdocs/find_last_of.adoc[`find_last_of`] | Find the last element in a range that matches an element in the specified range. | xref:mrdocs/forEachFile-08.adoc[`forEachFile`] | `forEachFile` overloads | xref:mrdocs/formatError.adoc[`formatError`] | Return a formatted error. | xref:mrdocs/format_duration.adoc[`format_duration`] | Formats a duration into a human‐readable string. | xref:mrdocs/fromBase58Str.adoc[`fromBase58Str`] | Parse the base58 string form of a SymbolID. | xref:mrdocs/fromString.adoc[`fromString`] | Convert a string to a FundamentalTypeKind. | xref:mrdocs/getDefaultAccessString.adoc[`getDefaultAccessString`] | Return the default accessibility for a record key kind. | xref:mrdocs/getOperatorKind.adoc[`getOperatorKind`] | Return the short name of an operator as a string. | xref:mrdocs/getOperatorKindFromSuffix.adoc[`getOperatorKindFromSuffix`] | Return the short name of an operator as a string. | xref:mrdocs/getOperatorName.adoc[`getOperatorName`] | Return the name of an operator as a string. | xref:mrdocs/getOperatorReadableName.adoc[`getOperatorReadableName`] | Return the human‐readable name of the operator | xref:mrdocs/getParents.adoc[`getParents`] | Return the parents of the specified symbol | xref:mrdocs/getPrimaryLocation-04.adoc[`getPrimaryLocation`] | `getPrimaryLocation` overloads | xref:mrdocs/getSafeOperatorName.adoc[`getSafeOperatorName`] | Return the safe name of an operator as a string. | xref:mrdocs/getShortOperatorName.adoc[`getShortOperatorName`] | Return the short name of an operator as a string. | xref:mrdocs/innerType-00.adoc[`innerType`] | Return the inner type. | xref:mrdocs/innerTypePtr-06.adoc[`innerTypePtr`] | Return the inner type. | xref:mrdocs/innermostType-06.adoc[`innermostType`] | `innermostType` overloads | xref:mrdocs/installGenerator.adoc[`installGenerator`] | Install a custom generator. | xref:mrdocs/isAlphaNumeric-05.adoc[`isAlphaNumeric`] | `isAlphaNumeric` overloads | xref:mrdocs/isAlphabetic-05.adoc[`isAlphabetic`] | `isAlphabetic` overloads | xref:mrdocs/isBinaryOperator.adoc[`isBinaryOperator`] | Determines whether the operator is potentially binary. | xref:mrdocs/isCopyAssignment.adoc[`isCopyAssignment`] | Check whether a function is a copy assignment operator. | xref:mrdocs/isCopyConstructor.adoc[`isCopyConstructor`] | Check whether a function is a copy constructor. | xref:mrdocs/isDefaultConstructor.adoc[`isDefaultConstructor`] | Check whether a function is a default constructor. | xref:mrdocs/isDigit-03.adoc[`isDigit`] | `isDigit` overloads | xref:mrdocs/isLowerCase-04.adoc[`isLowerCase`] | `isLowerCase` overloads | xref:mrdocs/isMoveAssignment.adoc[`isMoveAssignment`] | Check whether a function is a move assignment operator. | xref:mrdocs/isMoveConstructor.adoc[`isMoveConstructor`] | Check whether a function is a move constructor. | xref:mrdocs/isSpecialMemberFunction.adoc[`isSpecialMemberFunction`] | Check whether a function is a special member function. | xref:mrdocs/isUnaryOperator.adoc[`isUnaryOperator`] | Determines whether the operator is potentially unary. | xref:mrdocs/isUpperCase-04.adoc[`isUpperCase`] | `isUpperCase` overloads | xref:mrdocs/isWhitespace-09.adoc[`isWhitespace`] | `isWhitespace` overloads | xref:mrdocs/is_null.adoc[`is_null`] | is_null helper that uses nullable_traits<T> if available. | xref:mrdocs/is_one_of-0e.adoc[`is_one_of`] | Determine if an element is equal to any of the elements in the specified range. | xref:mrdocs/isa.adoc[`isa`] | Return true if the polymorphic object holds a value of type To. | xref:mrdocs/isa_or_null.adoc[`isa_or_null`] | Return true if pointer is non‐null and referent is of type To. | xref:mrdocs/leastSpecific.adoc[`leastSpecific`] | Compare ExtractionModes and returns the least specific | xref:mrdocs/ltrim-051.adoc[`ltrim`] | `ltrim` overloads | xref:mrdocs/makeChar.adoc[`makeChar`] | Apply the "char" specifier to the type | xref:mrdocs/makeLong.adoc[`makeLong`] | Apply the "long" specifier to the type | xref:mrdocs/makeOverload.adoc[`makeOverload`] | Factory function that creates an Overload from the given callables. | xref:mrdocs/makeShort.adoc[`makeShort`] | Apply the "short" specifier to the type | xref:mrdocs/makeSigned.adoc[`makeSigned`] | Apply the "signed" specifier to the type | xref:mrdocs/makeUnsigned.adoc[`makeUnsigned`] | Apply the "unsigned" specifier to the type | xref:mrdocs/make_array_view-0a.adoc[`make_array_view`] | `make_array_view` overloads | xref:mrdocs/make_null.adoc[`make_null`] | make_null helper that uses nullable_traits<T> if available. | xref:mrdocs/match.adoc[`match`] | Applies a set of callables to a std::variant using std::visit and Overload. | xref:mrdocs/merge-0a.adoc[`merge`] | `merge` overloads | xref:mrdocs/mostSpecific.adoc[`mostSpecific`] | Compare ExtractionModes and returns the most specific | xref:mrdocs/null_of.adoc[`null_of`] | null_of helper that constructs a null T using nullable_traits<T>. | xref:mrdocs/operator_bitor.adoc[`operator|`] | Pipe a contiguous character range into the adaptor. | xref:mrdocs/overrides.adoc[`overrides`] | Determine if one function would override the other | xref:mrdocs/parse-07.adoc[`parse`] | Parse a string view | xref:mrdocs/qualifiedRuntimeTypeName.adoc[`qualifiedRuntimeTypeName`] | The fully‐qualified runtime name of a type `T`. | xref:mrdocs/qualifiedTypeName.adoc[`qualifiedTypeName`] | The fully‐qualified name of a type `T`, at compile time. | xref:mrdocs/reindentCode.adoc[`reindentCode`] | Reindent code by removing the common leading spaces and adding the specified indent. | xref:mrdocs/replace.adoc[`replace`] | Return the substring without leading and trailing horizontal whitespace. | xref:mrdocs/rtrim-0c.adoc[`rtrim`] | `rtrim` overloads | xref:mrdocs/safeString-0a.adoc[`safeString`] | `safeString` overloads | xref:mrdocs/splitLines-04.adoc[`splitLines`] | `splitLines` overloads | xref:mrdocs/startsWithOneOf.adoc[`startsWithOneOf`] | Determine if a string starts with one of the specified characters | xref:mrdocs/swap-07d.adoc[`swap`] | `swap` overloads | xref:mrdocs/tag_invoke-005.adoc[`tag_invoke`] | `tag_invoke` overloads | xref:mrdocs/toBase16Str.adoc[`toBase16Str`] | Convert a SymbolID to a string | xref:mrdocs/toBase58Str.adoc[`toBase58Str`] | Convert a SymbolID to its canonical string form. | xref:mrdocs/toCamelCase.adoc[`toCamelCase`] | Convert a string to `camelCase` using ASCII letter rules. | xref:mrdocs/toDomObject.adoc[`toDomObject`] | Parse a YAML document into a DOM object. | xref:mrdocs/toKebabCase.adoc[`toKebabCase`] | Convert a string to `kebab‐case` using ASCII letter rules. | xref:mrdocs/toLowerCase-0a6.adoc[`toLowerCase`] | `toLowerCase` overloads | xref:mrdocs/toPascalCase.adoc[`toPascalCase`] | Convert a string to `PascalCase` using ASCII letter rules. | xref:mrdocs/toSnakeCase.adoc[`toSnakeCase`] | Convert a string to `snake_case` using ASCII letter rules. | xref:mrdocs/toString-02.adoc[`toString`] | `toString` overloads | xref:mrdocs/toUpperCase-0f.adoc[`toUpperCase`] | `toUpperCase` overloads | xref:mrdocs/to_underlying.adoc[`to_underlying`] | Return the value as its underlying type. | xref:mrdocs/topDownTraverse.adoc[`topDownTraverse`] | Traverse a DocComment tree top‐down (pre‐order). | xref:mrdocs/trim-0a.adoc[`trim`] | `trim` overloads | xref:mrdocs/unqualifiedRuntimeTypeName.adoc[`unqualifiedRuntimeTypeName`] | The unqualified runtime name of a type `T`. | xref:mrdocs/unqualifiedTypeName.adoc[`unqualifiedTypeName`] | The unqualified name of a type `T`, at compile time. | xref:mrdocs/visit.adoc[`visit`] | Visit a polymorphic object by matching its kind to a derived type. | xref:mrdocs/visitIndexed.adoc[`visitIndexed`] | Visits a std::variant and calls the combined callable with the active index and the value. | xref:mrdocs/yCombinator-0d4.adoc[`yCombinator`] | Factory that creates a YCombinator from a callable. | xref:mrdocs/operator_eq-049.adoc[`operator==`] | Equality operators | xref:mrdocs/operator_not_eq-0a.adoc[`operator!=`] | Inequality operators | xref:mrdocs/operator_lt-0f.adoc[`operator<`] | Less‐than operators | xref:mrdocs/operator_le-0b.adoc[`operator<=`] | Less‐than‐or‐equal operators | xref:mrdocs/operator_gt-09.adoc[`operator>`] | Greater‐than operators | xref:mrdocs/operator_ge-00.adoc[`operator>=`] | Greater‐than‐or‐equal operators | xref:mrdocs/operator_3way-003.adoc[`operator<=>`] | Three‐way comparison operators |=== == Variables [cols="1,4"] |=== | Name| Description | xref:mrdocs/is_specialization_of_v-09.adoc[`is_specialization_of_v`] | Whether `T` is a specialization of the class template `Template`. | xref:mrdocs/is_specialization_of_v-0e.adoc[`is_specialization_of_v`] | Whether `T` is a specialization of the class template `Template`. |=== == Concepts [cols="1,4"] |=== | Name| Description | xref:mrdocs/ClearableContainerLike.adoc[`ClearableContainerLike`] | Internal concept that matches “empty‐clear default‐constructible” types. | xref:mrdocs/DescribedComparable.adoc[`DescribedComparable`] | True if T has described members (for comparison). | xref:mrdocs/DocCommentNode.adoc[`DocCommentNode`] | Concept to check if a type represents a DocComment node. | xref:mrdocs/DocCommentNodeTraversable.adoc[`DocCommentNodeTraversable`] | Types that can be traversed by DocComment helpers. | xref:mrdocs/HasParse.adoc[`HasParse`] | Concept to determine if there's a parse function for a type. | xref:mrdocs/HasSentinel.adoc[`HasSentinel`] | Concept that is satisfied when sentinel_traits<T> declares a usable sentinel. | xref:mrdocs/SymbolParent.adoc[`SymbolParent`] | A concept for types that have `Symbol` members. | xref:mrdocs/dereferenceable.adoc[`dereferenceable`] | Determine if a type is dereferenceable | xref:mrdocs/has_nullable_traits_v.adoc[`has_nullable_traits_v`] | Utility concept that returns true if T has a nullable_traits specialization enabled. | xref:mrdocs/pair_like.adoc[`pair_like`] | Concept to check if a type is pair‐like | xref:mrdocs/polymorphic_storage_for.adoc[`polymorphic_storage_for`] | Concept to check if a type is representing a polymorphic storage | xref:mrdocs/range_of.adoc[`range_of`] | Concept to check if a type is a range of T | xref:mrdocs/range_of_tuple_like.adoc[`range_of_tuple_like`] | Concept to check if a range is a range of tuple‐like elements | xref:mrdocs/specialization_of.adoc[`specialization_of`] | Satisfied when `T` is a specialization of the class template `Template`. | xref:mrdocs/tuple_like.adoc[`tuple_like`] | Concept to check if a type is tuple‐like |=== == Using Declarations [cols="1,4"] |=== | Name| Description | xref:mrdocs/Unexpected.adoc[`Unexpected`] | Construct an unexpected (error) value, as passed to xref:mrdocs/Expected.adoc[`Expected`]. | xref:mrdocs/reference_constructs_from_temporary_v.adoc[`reference_constructs_from_temporary_v`] | True when binding `To` from `From` would require a temporary conversion. | xref:mrdocs/reference_converts_from_temporary_v.adoc[`reference_converts_from_temporary_v`] | Like `reference_converts_from_temporary_v`, but for construction. | xref:mrdocs/source_location.adoc[`source_location`] | Alias to `std::source_location` when available. | xref:mrdocs/unexpect.adoc[`unexpect`] | Tag value of type xref:mrdocs/unexpect_t.adoc[`unexpect_t`]. | xref:mrdocs/unexpect_t.adoc[`unexpect_t`] | Tag type used to construct an xref:mrdocs/Expected.adoc[`Expected`] in the error state. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#