aGrUM
0.20.3
a C++ library for (probabilistic) graphical models
essentialGraph_inl.h
Go to the documentation of this file.
1
/**
2
*
3
* Copyright (c) 2005-2021 by Pierre-Henri WUILLEMIN(@LIP6) & Christophe GONZALES(@AMU)
4
* info_at_agrum_dot_org
5
*
6
* This library is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public License
17
* along with this library. If not, see <http://www.gnu.org/licenses/>.
18
*
19
*/
20
21
22
/** @file
23
* @brief Inline implementation of the class building the essential Graph from a
24
* DAGmodel
25
* @author Pierre-Henri WUILLEMIN(@LIP6) & Christophe GONZALES(@AMU)
26
*
27
*/
28
29
// to ease parsing by IDE
30
#
include
<
agrum
/
BN
/
algorithms
/
essentialGraph
.
h
>
31
32
namespace
gum
{
33
34
INLINE MixedGraph
EssentialGraph
::
mixedGraph
() {
return
_mg_
; }
35
36
INLINE
const
NodeSet
&
EssentialGraph
::
parents
(
NodeId
id
)
const
{
return
_mg_
.
parents
(
id
); }
37
38
INLINE
const
NodeSet
&
EssentialGraph
::
children
(
NodeId
id
)
const
{
return
_mg_
.
children
(
id
); }
39
40
INLINE
NodeSet
EssentialGraph
::
parents
(
const
NodeSet
&
ids
)
const
{
return
_mg_
.
parents
(
ids
); }
41
42
INLINE
NodeSet
EssentialGraph
::
children
(
const
NodeSet
&
ids
)
const
{
return
_mg_
.
children
(
ids
); }
43
44
INLINE
const
NodeSet
&
EssentialGraph
::
neighbours
(
NodeId
id
)
const
{
return
_mg_
.
neighbours
(
id
); }
45
46
47
INLINE
Size
EssentialGraph
::
sizeArcs
()
const
{
return
_mg_
.
sizeArcs
(); }
48
49
INLINE
const
ArcSet
&
EssentialGraph
::
arcs
()
const
{
return
_mg_
.
arcs
(); }
50
51
INLINE
Size
EssentialGraph
::
sizeEdges
()
const
{
return
_mg_
.
sizeEdges
(); }
52
53
INLINE
const
EdgeSet
&
EssentialGraph
::
edges
()
const
{
return
_mg_
.
edges
(); }
54
55
INLINE
Size
EssentialGraph
::
sizeNodes
()
const
{
return
_mg_
.
sizeNodes
(); }
56
57
INLINE
Size
EssentialGraph
::
size
()
const
{
return
_mg_
.
size
(); }
58
59
INLINE
const
NodeGraphPart
&
EssentialGraph
::
nodes
()
const
{
return
_mg_
.
nodes
(); }
60
}
// namespace gum
gum::Set::emplace
INLINE void emplace(Args &&... args)
Definition:
set_tpl.h:643