GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
network_file.h
Go to the documentation of this file.
1#pragma once
2
3#include "fourdst/config/config.h"
4#include "fourdst/logging/logging.h"
5
6#include "quill/Logger.h"
7
8#include <string>
9#include <vector>
10
11namespace gridfire::io {
12 typedef std::vector<std::string> ParsedNetworkData;
13
23 public:
27 virtual ~NetworkFileParser() = default;
28
55 [[nodiscard]] virtual ParsedNetworkData parse(const std::string& filename) const = 0;
56
57 };
58
69 public:
102 ParsedNetworkData parse(const std::string& filename) const override;
103 private:
104 using Config = fourdst::config::Config;
105 using LogManager = fourdst::logging::LogManager;
106 Config& m_config = Config::getInstance();
107 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
108 };
109
120 public:
129 explicit MESANetworkFileParser(const std::string& filename);
142 ParsedNetworkData parse(const std::string& filename) const override;
143 private:
144 using Config = fourdst::config::Config;
145 using LogManager = fourdst::logging::LogManager;
146 Config& m_config = Config::getInstance();
147 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
148
149 std::string m_filename;
150 };
151}
ParsedNetworkData parse(const std::string &filename) const override
Parses a MESA-format network file.
fourdst::logging::LogManager LogManager
MESANetworkFileParser(const std::string &filename)
Constructs a MESANetworkFileParser.
fourdst::config::Config Config
An abstract base class for network file parsers.
virtual ParsedNetworkData parse(const std::string &filename) const =0
Parses a network file and returns the parsed data.
virtual ~NetworkFileParser()=default
Virtual destructor for the base class.
ParsedNetworkData parse(const std::string &filename) const override
Parses a simple reaction list file.
fourdst::logging::LogManager LogManager
SimpleReactionListFileParser()
Constructs a SimpleReactionListFileParser.
std::vector< std::string > ParsedNetworkData