bactria  0.0.1
The bactria library is a header-only C++14 library for profiling and tracing.
Plugin.hpp File Reference

bactria-internal handling of reports plugins. More...

#include <bactria/core/Activation.hpp>
#include <bactria/core/Plugin.hpp>
#include <cstdint>
#include <cstdlib>
#include <stdexcept>
#include <string>
#include <type_traits>
Include dependency graph for Plugin.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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

bactria-internal handling of reports plugins.

The functionality described here is part of bactria's internals. It should not be included directly by the user.