Loading...
Searching...
No Matches
engine_view_abstract.h
Go to the documentation of this file.
#pragma once
#include "gridfire/engine/engine_abstract.h"
namespace gridfire {
template<typename EngineT>
concept EngineType = std::is_base_of_v<Engine, EngineT> || std::is_base_of_v<DynamicEngine, EngineT>;
template<EngineType EngineT>
class EngineView {
public:
virtual ~EngineView() = default;
virtual const EngineT& getBaseEngine() const = 0;
};
}
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