SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Classes | Typedefs | Functions
smtk::graph Namespace Reference

Subsystem for modeling using nodes connected to one another by arcs. More...

Classes

struct  ArcConstness
 For endpoint interfaces, provide tag classes used to select const or non-const APIs. More...
 
struct  ArcDirection
 For endpoint interfaces, provide tag classes used to select incoming or outgoing APIs. More...
 
class  ArcEndpointInterface
 An object that a node instance can present to access/edit its outgoing/incoming arcs. More...
 
class  ArcImplementation
 A wrapper around arc type-traits classes that provides API. More...
 
class  ArcMap
 A container for arcs held by a resource. More...
 
class  ArcProperties
 Checks that can be performed on arc trait-types. More...
 
class  Component
 Graph Component represents a node in the graph resource. More...
 
class  ExplicitArcs
 A wrapper around arc type-traits classes that provides explicit storage of arcs. More...
 
class  NodeProperties
 Checks that can be performed on a node-type. More...
 
class  NodeSet
 
class  Registrar
 
class  Resource
 A resource for conceptual modeling of geometric components. More...
 
class  ResourceBase
 A non-templated base class for graph resources. More...
 

Typedefs

typedef std::shared_ptr< ComponentComponentPtr
 
template<typename GraphTraits >
using ResourcePtr = std::shared_ptr< Resource< GraphTraits > >
 
using ConstArc = ArcConstness< true >
 
using NonConstArc = ArcConstness< false >
 
using OutgoingArc = ArcDirection< true >
 
using IncomingArc = ArcDirection< false >
 

Functions

constexpr std::size_t unconstrained ()
 Return a constant used to indicate the maximimum degree of an arc endpoint is unconstrained.
 
template<typename T >
constexpr std::enable_if< std::is_integral< decltype(T::MaxOutDegree)>::value, std::size_t >::type maxOutDegree (std::size_t)
 Return the maximum out-degree of an arc type (or unconstrained() if unspecified).
 
template<typename T >
constexpr std::size_t maxOutDegree (...)
 
template<typename T >
constexpr std::enable_if< std::is_integral< decltype(T::MaxInDegree)>::value, std::size_t >::type maxInDegree (std::size_t)
 Return the maximum in-degree of an arc type (or unconstrained() if unspecified).
 
template<typename T >
constexpr std::size_t maxInDegree (...)
 
template<typename T >
constexpr std::enable_if< std::is_integral< decltype(T::MinOutDegree)>::value, std::size_t >::type minOutDegree (std::size_t)
 Return the minimum out-degree of an arc type (or 0 if unspecified).
 
template<typename T >
constexpr std::size_t minOutDegree (...)
 
template<typename T >
constexpr std::enable_if< std::is_integral< decltype(T::MinInDegree)>::value, std::size_t >::type minInDegree (std::size_t)
 Return the minimum in-degree of an arc type (or 0 if unspecified).
 
template<typename T >
constexpr std::size_t minInDegree (...)
 

Detailed Description

Subsystem for modeling using nodes connected to one another by arcs.