vg
tools for working with variation graphs
|
#include <string>
#include <unordered_map>
#include <typeinfo>
#include <typeindex>
#include <type_traits>
#include <functional>
#include <iostream>
#include <vector>
#include <google/protobuf/util/type_resolver.h>
Classes | |
class | vg::io::Registry |
struct | vg::io::Registry::Tables |
Namespaces | |
namespace | vg |
namespace | vg::io |
Typedefs | |
using | vg::io::message_consumer_function_t = function< void(const string &)> |
This is the type of a function that can be fed a series of messages. | |
using | vg::io::message_sender_function_t = function< void(const message_consumer_function_t &)> |
This is the type of a function that can be given a message consumer to feed messages to. | |
using | vg::io::load_function_t = function< void *(const message_sender_function_t &)> |
This is the type of a function that can allocate and load an object of unspecified type from a message source. | |
using | vg::io::save_function_t = function< void(const void *, const message_consumer_function_t &)> |
This is the type of a function that can serialize an object of unspecified type to a message consumer. | |
using | vg::io::bare_load_function_t = function< void *(istream &)> |
This is the type of a function that can load an object of unspecified type from a bare input stream. | |
using | vg::io::bare_load_function_with_filename_t = function< void *(istream &, const string &)> |
Like above, but keep track of an optional (can be empty) filename (ie where stream comes from) | |
using | vg::io::bare_save_function_t = function< void(const void *, ostream &)> |
This is the type of a function that can save an object of unspecified type to a bare output stream. | |
Functions | |
auto | vg::io::wrap_bare_loader (function< void *(istream &)> istream_loader) -> load_function_t |
void | vg::io::with_function_calling_stream (const message_consumer_function_t &emit_message, const function< void(ostream &)> &use_stream) |
auto | vg::io::wrap_bare_saver (function< void(const void *, ostream &)> ostream_saver) -> save_function_t |
Handles bookkeeping for the various data type tags in stream files.
TO ADD A PROTOBUF TYPE: