bactria  0.0.1
The bactria library is a header-only C++14 library for profiling and tracing.
Internal documentation. Not intended or useful for the user.
Collaboration diagram for Internal documentation. Not intended or useful for the user.:

Typedefs

using bactria::reports::plugin::create_report_t = std::add_pointer_t< void *(char const *)>
 Signature for plugin function bactria_reports_create_report(). More...
 
using bactria::reports::plugin::destroy_report_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_reports_destroy_report(). More...
 
using bactria::reports::plugin::write_report_t = std::add_pointer_t< void(void *)>
 Signature for plugin function bactria_reports_write_report(). More...
 
using bactria::reports::plugin::record_bool_t = std::add_pointer_t< void(void *, char const *, bool)>
 Signature for plugin function bactria_reports_record_bool(). More...
 
using bactria::reports::plugin::record_int8_t = std::add_pointer_t< void(void *, char const *, std::int8_t)>
 Signature for plugin function bactria_reports_record_int8(). More...
 
using bactria::reports::plugin::record_uint8_t = std::add_pointer_t< void(void *, char const *, std::uint8_t)>
 Signature for plugin function bactria_reports_record_uint8(). More...
 
using bactria::reports::plugin::record_int16_t = std::add_pointer_t< void(void *, char const *, std::int16_t)>
 Signature for plugin function bactria_reports_record_int16(). More...
 
using bactria::reports::plugin::record_uint16_t = std::add_pointer_t< void(void *, char const *, std::uint16_t)>
 Signature for plugin function bactria_reports_record_uint16(). More...
 
using bactria::reports::plugin::record_int32_t = std::add_pointer_t< void(void *, char const *, std::int32_t)>
 Signature for plugin function bactria_reports_record_int32(). More...
 
using bactria::reports::plugin::record_uint32_t = std::add_pointer_t< void(void *, char const *, std::uint32_t)>
 Signature for plugin function bactria_reports_record_uint32(). More...
 
using bactria::reports::plugin::record_int64_t = std::add_pointer_t< void(void *, char const *, std::int64_t)>
 Signature for plugin function bactria_reports_record_int64(). More...
 
using bactria::reports::plugin::record_uint64_t = std::add_pointer_t< void(void *, char const *, std::uint64_t)>
 Signature for plugin function bactria_reports_record_uint64(). More...
 
using bactria::reports::plugin::record_float_t = std::add_pointer_t< void(void *, char const *, float)>
 Signature for plugin function bactria_reports_record_float(). More...
 
using bactria::reports::plugin::record_double_t = std::add_pointer_t< void(void *, char const *, double)>
 Signature for plugin function bactria_reports_record_double(). More...
 
using bactria::reports::plugin::record_string_t = std::add_pointer_t< void(void *, char const *, char const *)>
 Signature for plugin function bactria_reports_record_string(). More...
 

Functions

auto bactria::reports::plugin::activated () -> bool
 Checks for an active reports plugin. More...
 
auto bactria::reports::plugin::load () -> plugin_handle_t
 Initializes the reports plugin. More...
 
auto bactria::reports::plugin::create_report (char const *name)
 Creates a plugin-specific report handle. More...
 
auto bactria::reports::plugin::destroy_report (void *report_handle) noexcept
 Destroys a plugin-specific report handle. More...
 
auto bactria::reports::plugin::write_report (void *report_handle)
 Plugin-specific report writing. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, bool value) -> void
 Plugin-specific boolean recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::int8_t value) -> void
 Plugin-specific int8_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::uint8_t value) -> void
 Plugin-specific uint8_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::int16_t value) -> void
 Plugin-specific int16_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::uint16_t value) -> void
 Plugin-specific uint16_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::int32_t value) -> void
 Plugin-specific int32_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::uint32_t value) -> void
 Plugin-specific uint32_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::int64_t value) -> void
 Plugin-specific int64_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, std::uint64_t value) -> void
 Plugin-specific uint64_t recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, float value) -> void
 Plugin-specific float recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, double value) -> void
 Plugin-specific double recording. More...
 
auto bactria::reports::plugin::record_value (void *report_handle, char const *key, char const *value) -> void
 Plugin-specific string recording. More...
 

Variables

auto bactria::reports::plugin::create_report_ptr = create_report_t{nullptr}
 Pointer to plugin function bactria_reports_create_report(). More...
 
auto bactria::reports::plugin::destroy_report_ptr = destroy_report_t{nullptr}
 Pointer to plugin function bactria_reports_destroy_report(). More...
 
auto bactria::reports::plugin::write_report_ptr = write_report_t{nullptr}
 Pointer to plugin function bactria_reports_write_report(). More...
 
auto bactria::reports::plugin::record_bool_ptr = record_bool_t{nullptr}
 Pointer to plugin function bactria_reports_record_bool(). More...
 
auto bactria::reports::plugin::record_int8_ptr = record_int8_t{nullptr}
 Pointer to plugin function bactria_reports_record_int8(). More...
 
auto bactria::reports::plugin::record_uint8_ptr = record_uint8_t{nullptr}
 Pointer to plugin function bactria_reports_record_uint8(). More...
 
auto bactria::reports::plugin::record_int16_ptr = record_int16_t{nullptr}
 Pointer to plugin function bactria_reports_record_int16(). More...
 
auto bactria::reports::plugin::record_uint16_ptr = record_uint16_t{nullptr}
 Pointer to plugin function bactria_reports_record_uint16(). More...
 
auto bactria::reports::plugin::record_int32_ptr = record_int32_t{nullptr}
 Pointer to plugin function bactria_reports_record_int32(). More...
 
auto bactria::reports::plugin::record_uint32_ptr = record_uint32_t{nullptr}
 Pointer to plugin function bactria_reports_record_uint32(). More...
 
auto bactria::reports::plugin::record_int64_ptr = record_int64_t{nullptr}
 Pointer to plugin function bactria_reports_record_int64(). More...
 
auto bactria::reports::plugin::record_uint64_ptr = record_uint64_t{nullptr}
 Pointer to plugin function bactria_reports_record_uint64(). More...
 
auto bactria::reports::plugin::record_float_ptr = record_float_t{nullptr}
 Pointer to plugin function bactria_reports_record_float(). More...
 
auto bactria::reports::plugin::record_double_ptr = record_double_t{nullptr}
 Pointer to plugin function bactria_reports_record_double(). More...
 
auto bactria::reports::plugin::record_string_ptr = record_string_t{nullptr}
 Pointer to plugin function bactria_reports_record_string(). More...
 

Detailed Description

Typedef Documentation

◆ create_report_t

using bactria::reports::plugin::create_report_t = typedef std::add_pointer_t<void*(char const*)>

Signature for plugin function bactria_reports_create_report().

ange Used internally by bactria during plugin initialization. Should never be used by the user.

◆ destroy_report_t

using bactria::reports::plugin::destroy_report_t = typedef std::add_pointer_t<void(void*) noexcept>

Signature for plugin function bactria_reports_destroy_report().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_bool_t

using bactria::reports::plugin::record_bool_t = typedef std::add_pointer_t<void(void*, char const*, bool)>

Signature for plugin function bactria_reports_record_bool().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_double_t

using bactria::reports::plugin::record_double_t = typedef std::add_pointer_t<void(void*, char const*, double)>

Signature for plugin function bactria_reports_record_double().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_float_t

using bactria::reports::plugin::record_float_t = typedef std::add_pointer_t<void(void*, char const*, float)>

Signature for plugin function bactria_reports_record_float().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int16_t

using bactria::reports::plugin::record_int16_t = typedef std::add_pointer_t<void(void*, char const*, std::int16_t)>

Signature for plugin function bactria_reports_record_int16().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int32_t

using bactria::reports::plugin::record_int32_t = typedef std::add_pointer_t<void(void*, char const*, std::int32_t)>

Signature for plugin function bactria_reports_record_int32().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int64_t

using bactria::reports::plugin::record_int64_t = typedef std::add_pointer_t<void(void*, char const*, std::int64_t)>

Signature for plugin function bactria_reports_record_int64().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int8_t

using bactria::reports::plugin::record_int8_t = typedef std::add_pointer_t<void(void*, char const*, std::int8_t)>

Signature for plugin function bactria_reports_record_int8().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_string_t

using bactria::reports::plugin::record_string_t = typedef std::add_pointer_t<void(void*, char const*, char const*)>

Signature for plugin function bactria_reports_record_string().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint16_t

using bactria::reports::plugin::record_uint16_t = typedef std::add_pointer_t<void(void*, char const*, std::uint16_t)>

Signature for plugin function bactria_reports_record_uint16().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint32_t

using bactria::reports::plugin::record_uint32_t = typedef std::add_pointer_t<void(void*, char const*, std::uint32_t)>

Signature for plugin function bactria_reports_record_uint32().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint64_t

using bactria::reports::plugin::record_uint64_t = typedef std::add_pointer_t<void(void*, char const*, std::uint64_t)>

Signature for plugin function bactria_reports_record_uint64().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint8_t

using bactria::reports::plugin::record_uint8_t = typedef std::add_pointer_t<void(void*, char const*, std::uint8_t)>

Signature for plugin function bactria_reports_record_uint8().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ write_report_t

using bactria::reports::plugin::write_report_t = typedef std::add_pointer_t<void(void*)>

Signature for plugin function bactria_reports_write_report().

Used internally by bactria during plugin initialization. Should never be used by the user.

Function Documentation

◆ activated()

auto bactria::reports::plugin::activated ( ) -> bool
inline

Checks for an active reports plugin.

This function checks for an active reports plugin.

Returns
true If BACTRIA_DEACTIVATE is NOT defined and BACTRIA_REPORTS_PLUGIN is defined.
false If either BACTRIA_DEACTIVATE is defined or BACTRIA_REPORTS_PLUGIN is NOT defined.

◆ create_report()

auto bactria::reports::plugin::create_report ( char const *  name)
inline

Creates a plugin-specific report handle.

Used internally by the Report class. Should never be used directly.

Returns
A plugin-specific report handle.
See also
Report::Report()

◆ destroy_report()

auto bactria::reports::plugin::destroy_report ( void *  report_handle)
inlinenoexcept

Destroys a plugin-specific report handle.

Used internally by the Report class. Should never be used directly.

See also
Report::~Report()

◆ load()

auto bactria::reports::plugin::load ( ) -> plugin_handle_t
inline

Initializes the reports plugin.

Used internally by bactria during plugin initialization. Should never be used by the user.

Returns
A platform-specific plugin handle.
Exceptions
std::runtime_errorOn failure during plugin initialization.

◆ record_value() [1/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
bool  value 
) -> void
inline

Plugin-specific boolean recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [2/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
char const *  value 
) -> void
inline

Plugin-specific string recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [3/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
double  value 
) -> void
inline

Plugin-specific double recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [4/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
float  value 
) -> void
inline

Plugin-specific float recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [5/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::int16_t  value 
) -> void
inline

Plugin-specific int16_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [6/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::int32_t  value 
) -> void
inline

Plugin-specific int32_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [7/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::int64_t  value 
) -> void
inline

Plugin-specific int64_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [8/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::int8_t  value 
) -> void
inline

Plugin-specific int8_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [9/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::uint16_t  value 
) -> void
inline

Plugin-specific uint16_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [10/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::uint32_t  value 
) -> void
inline

Plugin-specific uint32_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [11/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::uint64_t  value 
) -> void
inline

Plugin-specific uint64_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ record_value() [12/12]

auto bactria::reports::plugin::record_value ( void *  report_handle,
char const *  key,
std::uint8_t  value 
) -> void
inline

Plugin-specific uint8_t recording.

Used internally by the IncidentRecorder class. Should never be used directly.

See also
IncidentRecorder::store()

◆ write_report()

auto bactria::reports::plugin::write_report ( void *  report_handle)
inline

Plugin-specific report writing.

Used internally by the Report class. Should never be used directly.

See also
Report::submit()

Variable Documentation

◆ create_report_ptr

auto bactria::reports::plugin::create_report_ptr = create_report_t{nullptr}

Pointer to plugin function bactria_reports_create_report().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ destroy_report_ptr

auto bactria::reports::plugin::destroy_report_ptr = destroy_report_t{nullptr}

Pointer to plugin function bactria_reports_destroy_report().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_bool_ptr

auto bactria::reports::plugin::record_bool_ptr = record_bool_t{nullptr}

Pointer to plugin function bactria_reports_record_bool().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_double_ptr

auto bactria::reports::plugin::record_double_ptr = record_double_t{nullptr}

Pointer to plugin function bactria_reports_record_double().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_float_ptr

auto bactria::reports::plugin::record_float_ptr = record_float_t{nullptr}

Pointer to plugin function bactria_reports_record_float().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int16_ptr

auto bactria::reports::plugin::record_int16_ptr = record_int16_t{nullptr}

Pointer to plugin function bactria_reports_record_int16().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int32_ptr

auto bactria::reports::plugin::record_int32_ptr = record_int32_t{nullptr}

Pointer to plugin function bactria_reports_record_int32().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int64_ptr

auto bactria::reports::plugin::record_int64_ptr = record_int64_t{nullptr}

Pointer to plugin function bactria_reports_record_int64().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_int8_ptr

auto bactria::reports::plugin::record_int8_ptr = record_int8_t{nullptr}

Pointer to plugin function bactria_reports_record_int8().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_string_ptr

auto bactria::reports::plugin::record_string_ptr = record_string_t{nullptr}

Pointer to plugin function bactria_reports_record_string().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint16_ptr

auto bactria::reports::plugin::record_uint16_ptr = record_uint16_t{nullptr}

Pointer to plugin function bactria_reports_record_uint16().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint32_ptr

auto bactria::reports::plugin::record_uint32_ptr = record_uint32_t{nullptr}

Pointer to plugin function bactria_reports_record_uint32().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint64_ptr

auto bactria::reports::plugin::record_uint64_ptr = record_uint64_t{nullptr}

Pointer to plugin function bactria_reports_record_uint64().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ record_uint8_ptr

auto bactria::reports::plugin::record_uint8_ptr = record_uint8_t{nullptr}

Pointer to plugin function bactria_reports_record_uint8().

Used internally by bactria during plugin initialization. Should never be used by the user.

◆ write_report_ptr

auto bactria::reports::plugin::write_report_ptr = write_report_t{nullptr}

Pointer to plugin function bactria_reports_write_report().

Used internally by bactria during plugin initialization. Should never be used by the user.