32#include <unordered_map>
34#include <pdi/pdi_fwd.h>
35#include <pdi/callbacks.h>
36#include <pdi/data_descriptor.h>
37#include <pdi/datatype_template.h>
38#include <pdi/logger.h>
39#include <pdi/ref_any.h>
52 std::unordered_map<std::string, std::unique_ptr<Data_descriptor>>::iterator m_data;
53 Iterator(
const std::unordered_map<std::string, std::unique_ptr<Data_descriptor>>::iterator& data);
54 Iterator(std::unordered_map<std::string, std::unique_ptr<Data_descriptor>>::iterator&& data);
68 Iterator get_iterator(
const std::unordered_map<std::string, std::unique_ptr<Data_descriptor>>::iterator& data);
102 virtual void event(
const char* name) = 0;
Definition: callbacks.h:39
An iterator used to go through the descriptor store.
Definition: context.h:49
Data_descriptor * operator->()
virtual Data_descriptor & desc(const char *name)=0
Accesses the descriptor for a specific name.
Iterator get_iterator(std::unordered_map< std::string, std::unique_ptr< Data_descriptor > >::iterator &&data)
virtual Data_descriptor & desc(const std::string &name)=0
Accesses the descriptor for a specific name.
Iterator get_iterator(const std::unordered_map< std::string, std::unique_ptr< Data_descriptor > >::iterator &data)
virtual Datatype_template_ptr datatype(PC_tree_t node)=0
Creates a new datatype template from a paraconf-style config.
virtual void add_datatype(const std::string &name, Datatype_template_parser parser)=0
Adds new datatype parser to the context.
virtual Logger & logger()=0
Logger getter.
std::function< Datatype_template_ptr(Context &, PC_tree_t)> Datatype_template_parser
A function that parses a PC_tree_t to create a datatype_template.
Definition: context.h:65
virtual Iterator end()=0
Returns an iterator past the last descriptor.
virtual void finalize_and_exit()=0
Finalizes PDI and exits application.
virtual Iterator begin()=0
Returns an iterator on the first descriptor.
virtual void event(const char *name)=0
Triggers a PDI "event".
virtual Callbacks & callbacks()=0
Callbacks of the context.
Definition: data_descriptor.h:39
Wrapper for spdlog::logger with additional pattern getter method.
Definition: logger.h:42
Definition: array_datatype.h:38
std::shared_ptr< const Datatype_template > Datatype_template_ptr
Definition: pdi_fwd.h:76