mrdocs::AttributeCommonBase

CRTP base that ties a concrete attribute to a fixed AttributeKind.

Synopsis

template<AttributeKind K>
struct AttributeCommonBase
    : Attribute

Base Classes

Name

Description

Attribute

A C++ attribute attached to a symbol.

Member Functions

Name

Description

asAttribute

asAttribute overloads

Data Members

Name

Description

Kind

The kind of attribute.

Name

The attribute name as it appears in the standard form.

balancedTokens

The attribute arguments as a balanced‐token sequence.

Static Data Members

Name

Description

kind_id

Static discriminator for the concrete attribute.

Protected Member Functions

Name

Description

AttributeCommonBase [constructor]

Construct the base with the fixed kind.

Friends

Name

Description

mrdocs::mrdocs_member_descriptor_fn

mrdocs::mrdocs_base_descriptor_fn

Derived Classes

Name

Description

AssumeAttribute

The [[assume(expression)]] attribute (C++23).

CarriesDependencyAttribute

The [[carries_dependency]] attribute (C++11): release‐consume dependency propagation.

DeprecatedAttribute

The [[deprecated]] attribute (C++14).

FallthroughAttribute

The [[fallthrough]] attribute (C++17): an intentional switch fall‐through.

IndeterminateAttribute

The [[indeterminate]] attribute (C++26): the object has an indeterminate value if uninitialized.

LikelyAttribute

The [[likely]] attribute (C++20): this path is more likely.

MaybeUnusedAttribute

The [[maybe_unused]] attribute (C++17): suppresses unused‐entity warnings.

NoUniqueAddressAttribute

The [[no_unique_address]] attribute (C++20): the member need not have a unique address.

NodiscardAttribute

The [[nodiscard]] attribute (C++17, reason added in C++20).

NoreturnAttribute

The [[noreturn]] attribute (C++11): the function does not return.

OtherAttribute

An attribute mrdocs does not treat specially.

UnlikelyAttribute

The [[unlikely]] attribute (C++20): this path is less likely.

Created with MrDocs