Hyperiso 1.0.3
Modular flavour-physics calculations, Wilson coefficients and statistical inference
Loading...
Searching...
No Matches
IParser.h
Go to the documentation of this file.
1#ifndef IPARSER_H
2#define IPARSER_H
3
4#include <memory>
5#include "DBNode.h"
6
30class IParser {
31 public:
33 virtual ~IParser() = default;
34
46 virtual std::shared_ptr<DBNode> parse(const std::string& input) const = 0;
47
61 virtual void writeToFile(const std::string& filename, const std::shared_ptr<DBNode>& root) const = 0;
62
76 virtual std::shared_ptr<DBNode> readFromFile(const std::string& filename) const = 0;
77 };
78
79#endif // IPARSER_H
Hierarchical key–value tree with JSON/YAML serialization.
Abstract base class for data parsers.
Definition IParser.h:30
virtual std::shared_ptr< DBNode > parse(const std::string &input) const =0
Parses an input string into a DBNode hierarchy.
virtual ~IParser()=default
Virtual destructor to allow proper cleanup via base pointer.
virtual void writeToFile(const std::string &filename, const std::shared_ptr< DBNode > &root) const =0
Serializes a DBNode hierarchy to a file.
virtual std::shared_ptr< DBNode > readFromFile(const std::string &filename) const =0
Reads and parses a DBNode hierarchy from a file.