SMTK
@SMTK_VERSION@
Simulation Modeling Tool Kit
smtk
graph
ArcTraits.h
1
//=========================================================================
2
// Copyright (c) Kitware, Inc.
3
// All rights reserved.
4
// See LICENSE.txt for details.
5
//
6
// This software is distributed WITHOUT ANY WARRANTY; without even
7
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
8
// PURPOSE. See the above copyright notice for more information.
9
//=========================================================================
10
11
#ifndef smtk_graph_ArcTraits_h
12
#define smtk_graph_ArcTraits_h
13
14
#include "smtk/common/CompilerInformation.h"
// for SMTK_ALWAYS_EXPORT
15
#include "smtk/graph/Directionality.h"
16
17
#include <type_traits>
// for std::integral_constant<>
18
19
namespace
smtk
20
{
21
namespace
graph
22
{
23
25
template
<
bool
Constness>
26
struct
SMTK_ALWAYS_EXPORT
ArcConstness
: std::integral_constant<bool, Constness>
27
{
28
};
29
using
ConstArc
=
ArcConstness<true>
;
30
using
NonConstArc
=
ArcConstness<false>
;
31
33
template
<
bool
OutgoingDirection>
34
struct
SMTK_ALWAYS_EXPORT
ArcDirection
: std::integral_constant<bool, OutgoingDirection>
35
{
36
};
37
using
OutgoingArc
=
ArcDirection<true>
;
38
using
IncomingArc
=
ArcDirection<false>
;
39
40
}
// namespace graph
41
}
// namespace smtk
42
43
#endif // smtk_graph_ArcTraits_h
smtk
The main namespace for the Simulation Modeling Tool Kit (SMTK).
Definition:
doc.h:33
smtk::graph::ArcDirection
For endpoint interfaces, provide tag classes used to select incoming or outgoing APIs.
Definition:
ArcTraits.h:34
smtk::graph::ArcConstness
For endpoint interfaces, provide tag classes used to select const or non-const APIs.
Definition:
ArcTraits.h:26
Generated by
1.8.17