Skip to main content

trace-cpp-api.cpp File

C++ source file with the definitions for the C++ trace API. More...

Included Headers

Namespaces Index

namespacemicro_os_plus

The primary namespace for the µOS++ framework. More...

namespacetrace

Tracing support namespace. More...

namespacedetail

Implementation details namespace. More...

Description

C++ source file with the definitions for the C++ trace API.

Definitions for the C++ API functions (micro_os_plus::trace::printf(), etc.) that forward to the corresponding C++ internal tracer<implementation> functions.

The empty inline stubs (used when tracing is disabled) are located in cpp-api-inlines.h, included at the bottom of cpp-api.h.

File Listing

The file content with the documentation metadata removed is:

1/*
2 * This file is part of the µOS++ project (https://micro-os-plus.github.io/).
3 * Copyright (c) 2015-2026 Liviu Ionescu. All rights reserved.
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose is hereby granted, under the terms of the MIT license.
7 *
8 * If a copy of the license was not distributed with this file, it can be
9 * obtained from https://opensource.org/licenses/mit.
10 */
11
12// ----------------------------------------------------------------------------
13
27// ----------------------------------------------------------------------------
28
30
31// ----------------------------------------------------------------------------
32
33#if defined(MICRO_OS_PLUS_DIAG_TRACE_ENABLED)
34
35// ----------------------------------------------------------------------------
36
37#if defined(__clang__)
38#pragma clang diagnostic ignored "-Wc++98-compat"
39#endif // defined(__clang__)
40
42{
43 // --------------------------------------------------------------------------
44 // Explicit instantiation of the whole class, once per policy class.
45 // This instantiates all member functions (printf, vprintf, puts,
46 // putchar, dump_args) in one line, and makes them visible to the
47 // linker from other translation units. Do the same in your project
48 // for any user-defined policy class.
49 // --------------------------------------------------------------------------
50
51 template class tracer<implementation>;
52
53 // --------------------------------------------------------------------------
54} // namespace micro_os_plus::trace::detail
55
56// ----------------------------------------------------------------------------
57
58#endif // defined(MICRO_OS_PLUS_DIAG_TRACE_ENABLED)
59
60// ----------------------------------------------------------------------------

Generated via doxygen2docusaurus 2.2.2 by Doxygen 1.17.0.