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 ranges 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::ranges::plugin::create_event_t = std::add_pointer_t< void *(std::uint32_t, char const *, std::uint32_t) noexcept >
 Signature for plugin function bactria_ranges_create_event(). More...
 
using bactria::ranges::plugin::destroy_event_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_ranges_destroy_event(). More...
 
using bactria::ranges::plugin::fire_event_t = std::add_pointer_t< void(void *, char const *, char const *, std::uint32_t, char const *) noexcept >
 Signature for plugin function bactria_ranges_fire_event(). More...
 
using bactria::ranges::plugin::create_range_t = std::add_pointer_t< void *(char const *, std::uint32_t, char const *, std::uint32_t) noexcept >
 Signature for plugin function bactria_ranges_create_range(). More...
 
using bactria::ranges::plugin::destroy_range_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_ranges_destroy_range(). More...
 
using bactria::ranges::plugin::start_range_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_ranges_start_range(). More...
 
using bactria::ranges::plugin::stop_range_t = std::add_pointer_t< void(void *) noexcept >
 Signature for plugin function bactria_ranges_stop_range(). More...
 

Functions

auto bactria::ranges::plugin::activated () -> bool
 Checks for an active ranges plugin. More...
 
auto bactria::ranges::plugin::load () -> plugin_handle_t
 Initializes the ranges plugin. More...
 
auto bactria::ranges::plugin::create_event (std::uint32_t color, char const *cat_name, std::uint32_t cat_id) noexcept
 Creates a plugin-specific event handle. More...
 
auto bactria::ranges::plugin::destroy_event (void *event_handle) noexcept
 Destroys a plugin-specific event handle. More...
 
auto bactria::ranges::plugin::fire_event (void *event_handle, char const *event_name, char const *source, std::uint32_t lineno, char const *caller) noexcept
 Plugin-specific event firing. More...
 
auto bactria::ranges::plugin::create_range (char const *name, std::uint32_t color, char const *cat_name, std::uint32_t cat_id) noexcept
 Creates a plugin-specific range handle. More...
 
auto bactria::ranges::plugin::destroy_range (void *range_handle) noexcept
 Destroys a plugin-specific range handle. More...
 
auto bactria::ranges::plugin::start_range (void *range_handle) noexcept
 Plugin-specific range starting. More...
 
auto bactria::ranges::plugin::stop_range (void *range_handle) noexcept
 Plugin-specific range stopping. More...
 

Variables

auto bactria::ranges::plugin::create_event_ptr = create_event_t{nullptr}
 Pointer to plugin function bactria_ranges_create_event(). More...
 
auto bactria::ranges::plugin::destroy_event_ptr = destroy_event_t{nullptr}
 Pointer to plugin function bactria_ranges_destroy_event(). More...
 
auto bactria::ranges::plugin::fire_event_ptr = fire_event_t{nullptr}
 Pointer to plugin function bactria_ranges_fire_event(). More...
 
auto bactria::ranges::plugin::create_range_ptr = create_range_t{nullptr}
 Pointer to plugin function bactria_ranges_create_range(). More...
 
auto bactria::ranges::plugin::destroy_range_ptr = destroy_range_t{nullptr}
 Pointer to plugin function bactria_ranges_destroy_range(). More...
 
auto bactria::ranges::plugin::start_range_ptr = start_range_t{nullptr}
 Pointer to plugin function bactria_ranges_start_range(). More...
 
auto bactria::ranges::plugin::stop_range_ptr = stop_range_t{nullptr}
 Pointer to plugin function bactria_ranges_stop_range(). More...
 

Detailed Description

bactria-internal handling of ranges plugins.

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