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
3#include "gridfire/engine/engine_abstract.h"
4
27
28 namespace 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}
gridfire::EngineView
Abstract base class for a "view" of a reaction network engine.
Definition engine_view_abstract.h:74
gridfire::EngineView::~EngineView
virtual ~EngineView()=default
Virtual destructor.
gridfire::EngineView::getBaseEngine
virtual const EngineT & getBaseEngine() const =0
Access the underlying engine instance.
gridfire::EngineType
Concept for types allowed as engine bases in EngineView.
Definition engine_view_abstract.h:42
engine_abstract.h
Abstract interfaces for reaction network engines in GridFire.
gridfire
Definition engine_abstract.h:31