# Root::Directory::Sub::Class class
#include <Directory/Sub/Class.h>

A class.

### Contents

- A section
  - Subsection
  - Subsection 2
    - Subsection 3
- Section 2
- Reference
  - Public types
  - Public static variables
  - Public static functions
  - Constructors, destructors, conversion operators
  - Public functions
  - Public variables
  - Protected types
  - Protected static functions
  - Protected functions
  - Protected static variables
  - Protected variables
  - Private functions
  - Group full of non-public stuff which should be marked as such
  - Related

## A section

Text.

### Subsection

### Subsection 2

#### Subsection 3

## Section 2

## Public types

struct Foo
  A public subclass.
enum E { FooBar = 3 }
  A enum value.
using Deleter = void(*)(int, void*)
  A public typedef.

## Public static variables

static int Size constexpr
  A public static var.

## Public static functions

static void damage()
  A public static function.

## Constructors, destructors, conversion operators

Class(int, void*) explicit constexpr noexcept
  A constructor without parameter names.
Class(Class&) deleted
  Deleted copy.
operator bool() const && explicit
  A conversion operator that works only on &&.
~Class() protected pure virtual
  A protected pure virtual destructor.

## Public functions

auto operator=(Class&&) -> Class& defaulted
  Defaulted move.

## Public variables

std::string debug
  A public variable.

## Protected types

template<class T, class U = void>
union Bar
  A protected subclass.
enum Boolean { True, False, FileNotFound }
  Protected enum.
using Type = double
  A protected alias.

## Protected static functions

static void repair()
  A protected static function.

## Protected functions

auto fetchMeSomeIntegers() const -> int constexpr
  Protected function.

## Protected static variables

static bool False
  A protected static var.

## Protected variables

std::string logger
  A protected variable.

## Private functions

auto doSomething() const -> int virtual
  A documented private virtual function.

## Group full of non-public stuff which should be marked as such

enum Flag { } protected
  Protected flag in a group.
using Main = void protected
  Protected alias in a group.
void* variable protected
  Protected variable in a group.
void foo() const & protected
  Protected function in a group.
auto doStuff() -> int private pure virtual
  Private virtual function in a group.

## Related

enum Enum { }
  An enum.
using Int = int
  A typedef.
using Float = float
  An using declaration.
const int Var constexpr
  A variable.
void foo()
  A function.
#define A_MACRO(foo)
  A macro.