Storm
1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
DdEnvironment.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
5
#include "
storm/environment/Environment.h
"
6
#include "
storm/environment/SubEnvironment.h
"
7
#include "
storm/storage/dd/DdType.h
"
8
9
namespace
storm
{
10
11
class
SylvanDdManagerEnvironment
;
12
class
CuddDdManagerEnvironment
;
13
14
// Select the sub-environment that belongs to the given DD type.
15
template
<storm::dd::DdType Type>
16
struct
DdEnvironmentSelector
{
17
static_assert
(Type ==
storm::dd::DdType::Sylvan
|| Type ==
storm::dd::DdType::CUDD
,
"Unhandled DD type."
);
18
};
19
template
<>
20
struct
DdEnvironmentSelector
<
storm
::
dd::DdType::Sylvan
> {
21
using
type
=
SylvanDdManagerEnvironment
;
22
};
23
template
<>
24
struct
DdEnvironmentSelector
<
storm
::
dd::DdType::CUDD
> {
25
using
type
=
CuddDdManagerEnvironment
;
26
};
27
28
class
DdEnvironment
{
29
public
:
30
DdEnvironment
();
31
~DdEnvironment
();
32
33
SylvanDdManagerEnvironment
&
sylvan
();
34
SylvanDdManagerEnvironment
const
&
sylvan
()
const
;
35
36
CuddDdManagerEnvironment
&
cudd
();
37
CuddDdManagerEnvironment
const
&
cudd
()
const
;
38
42
template
<storm::dd::DdType Type>
43
typename
DdEnvironmentSelector<Type>::type
&
get
();
44
45
template
<storm::dd::DdType Type>
46
typename
DdEnvironmentSelector<Type>::type
const
&
get
()
const
;
47
48
private
:
49
SubEnvironment<SylvanDdManagerEnvironment>
sylvanEnvironment;
50
SubEnvironment<CuddDdManagerEnvironment>
cuddEnvironment;
51
};
52
53
}
// namespace storm
DdType.h
Environment.h
SubEnvironment.h
storm::CuddDdManagerEnvironment
Definition
CuddDdManagerEnvironment.h:9
storm::DdEnvironment::~DdEnvironment
~DdEnvironment()
Definition
DdEnvironment.cpp:12
storm::DdEnvironment::get
DdEnvironmentSelector< Type >::type & get()
Retrieves the sub-environment belonging to the given DD type.
Definition
DdEnvironment.cpp:33
storm::DdEnvironment::cudd
CuddDdManagerEnvironment & cudd()
Definition
DdEnvironment.cpp:24
storm::DdEnvironment::get
DdEnvironmentSelector< Type >::type const & get() const
storm::DdEnvironment::DdEnvironment
DdEnvironment()
Definition
DdEnvironment.cpp:8
storm::DdEnvironment::sylvan
SylvanDdManagerEnvironment & sylvan()
Definition
DdEnvironment.cpp:16
storm::SubEnvironment
Definition
SubEnvironment.h:8
storm::SylvanDdManagerEnvironment
Definition
SylvanDdManagerEnvironment.h:7
storm::dd::DdType::Sylvan
@ Sylvan
Definition
DdType.h:5
storm::dd::DdType::CUDD
@ CUDD
Definition
DdType.h:5
storm
Definition
AutomaticSettings.cpp:13
storm::DdEnvironmentSelector< storm::dd::DdType::CUDD >::type
CuddDdManagerEnvironment type
Definition
DdEnvironment.h:25
storm::DdEnvironmentSelector< storm::dd::DdType::Sylvan >::type
SylvanDdManagerEnvironment type
Definition
DdEnvironment.h:21
storm::DdEnvironmentSelector
Definition
DdEnvironment.h:16
src
storm
environment
dd
DdEnvironment.h
Generated by
1.15.0