GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
engine_view_abstract.h
Go to the documentation of this file.
1#pragma once
2
4
27
28namespace gridfire {
29
41 template<typename EngineT>
42 concept EngineType = std::is_base_of_v<Engine, EngineT> || std::is_base_of_v<DynamicEngine, EngineT>;
43
73 template<EngineType EngineT>
74 class EngineView {
75 public:
79 virtual ~EngineView() = default;
80
95 virtual const EngineT& getBaseEngine() const = 0;
96 };
97
98}
Abstract base class for a "view" of a reaction network engine.
virtual ~EngineView()=default
Virtual destructor.
virtual const EngineT & getBaseEngine() const =0
Access the underlying engine instance.
Concept for types allowed as engine bases in EngineView.
Abstract interfaces for reaction network engines in GridFire.