aGrUM 3.0.0
a C++ library for (probabilistic) graphical models
graphConcepts.h File Reference

C++20 concepts for aGrUM graph interfaces. More...

#include <concepts>
#include <agrum/base/graphs/graphElements.h>
Include dependency graph for graphConcepts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  gum
 gum is the global namespace for all aGrUM entities

Concepts

concept  gum::GUM_NodeGraphable
 Concept for any graph that exposes node-level queries.
concept  gum::GUM_DiGraphable
 Concept for directed graphs (arcs with parents/children).
concept  gum::GUM_UndiGraphable
 Concept for undirected graphs (edges with neighbours).
concept  gum::GUM_MixedGraphable
 Concept for mixed graphs (both arcs and edges).

Detailed Description

C++20 concepts for aGrUM graph interfaces.

Defines structural concepts capturing the public API of the four main graph families: node-only, directed, undirected, and mixed. These concepts are used to constrain the template parameters of generic graph algorithms (see algorithms/generic/).

Dependency: graphElements.h (NodeId, NodeSet, Size).

Author
Pierre-Henri WUILLEMIN(_at_LIP6) and Christophe GONZALES(_at_AMU)

Definition in file graphConcepts.h.