You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
967 B
35 lines
967 B
#pragma once
|
|
|
|
#include "storm/environment/SubEnvironment.h"
|
|
|
|
namespace storm {
|
|
|
|
// Forward declare sub-environments
|
|
class SolverEnvironment;
|
|
class ModelCheckerEnvironment;
|
|
|
|
// Avoid implementing ugly copy constructors for environment by using an internal environment.
|
|
struct InternalEnvironment {
|
|
SubEnvironment<SolverEnvironment> solverEnvironment;
|
|
SubEnvironment<ModelCheckerEnvironment> modelcheckerEnvironment;
|
|
};
|
|
|
|
class Environment {
|
|
public:
|
|
|
|
Environment();
|
|
virtual ~Environment();
|
|
Environment(Environment const& other);
|
|
Environment& operator=(Environment const& other);
|
|
|
|
SolverEnvironment& solver();
|
|
SolverEnvironment const& solver() const;
|
|
ModelCheckerEnvironment& modelchecker();
|
|
ModelCheckerEnvironment const& modelchecker() const;
|
|
|
|
private:
|
|
|
|
SubEnvironment<InternalEnvironment> internalEnv;
|
|
};
|
|
}
|
|
|