
## trace

### Synopsis

Defined in <boost/openmethod/policies/basic_policy.hpp>.

```c++
namespace boost::openmethod::policies {

struct trace : policy {};

}
```

---

### Description

`trace` is a policy used to write trace messages.

`initialize` can be directed to describe the classes and methods in a policy,
and how the dispatch tables are built, by including this policy in the policy,
and setting `trace_enabled` to `true`. The content and the format of the
description is not documented, beyond the guarantee that it provides an
exhaustive account of table construction, and may change between major, minor
and patch versions.

### Requirements

#### trace_enabled

```c++
static bool trace_enabled;
```

`true` if tracing is enabled, `false` otherwise.

#### trace_stream

```c++
static LightweightOutputStream trace_stream;
```

A static variable that satisfies the requirements of `LightweightOutputStream`.
