File kernel/src/utils/SiconosTools/SiconosGraph.hpp#
Go to the source code of this file
Template class to define a graph of Siconos object.
Note: this needs documentation
Defines
-
BOOST_NO_HASH#
Enums
-
template<class V, class E, class VProperties, class EProperties, class GProperties>
class SiconosGraph Public Types
-
typedef boost::graph_traits<proxy_graph_t>::edge_descriptor EDescriptor#
-
typedef boost::graph_traits<proxy_graph_t>::vertex_descriptor VDescriptor#
-
typedef boost::adjacency_list<boost::listS, boost::listS, boost::undirectedS, boost::property<vertex_siconos_bundle_t, V, boost::property<boost::vertex_color_t, boost::default_color_type, boost::property<boost::vertex_index_t, size_t, boost::property<vertex_properties_t, VProperties>>>>, boost::property<edge_siconos_bundle_t, E, boost::property<boost::edge_color_t, boost::default_color_type, boost::property<boost::edge_index_t, size_t, boost::property<edge_properties_t, EProperties>>>>, boost::property<graph_properties_t, GProperties>> graph_t#
-
typedef boost::property_map<graph_t, edge_siconos_bundle_t>::type EBundleAccess#
-
typedef boost::property_map<graph_t, vertex_siconos_bundle_t>::type VBundleAccess#
-
typedef boost::property_map<graph_t, edge_properties_t>::type EPropertiesAccess#
-
typedef boost::property_map<graph_t, vertex_properties_t>::type VPropertiesAccess#
-
typedef std::unordered_map<V, VDescriptor> VMap#
Public Functions
-
inline SiconosGraph()
default constructor
-
inline ~SiconosGraph()#
-
inline std::pair<EDescriptor, bool> edge(VDescriptor u, VDescriptor v) const#
-
inline bool edge_exists(const VDescriptor &vd1, const VDescriptor &vd2) const#
-
inline std::pair<EDescriptor, EDescriptor> edges(VDescriptor u, VDescriptor v) const#
-
inline bool is_edge(const VDescriptor &vd1, const VDescriptor &vd2, const E &e_bundle) const#
-
inline bool adjacent_vertex_exists(const VDescriptor &vd) const#
-
inline size_t size() const#
-
inline size_t vertices_number() const#
-
inline size_t edges_number() const#
-
inline V &bundle(const VDescriptor &vd)#
-
inline const V &bundle(const VDescriptor &vd) const#
-
inline E &bundle(const EDescriptor &ed)#
-
inline const E &bundle(const EDescriptor &ed) const#
-
inline boost::default_color_type &color(const VDescriptor &vd)#
-
inline const boost::default_color_type &color(const VDescriptor &vd) const#
-
inline boost::default_color_type &color(const EDescriptor &ed)#
-
inline const boost::default_color_type &color(const EDescriptor &ed) const#
-
inline GProperties &properties()#
-
inline size_t &index(const VDescriptor &vd)#
-
inline const size_t &index(const VDescriptor &vd) const#
-
inline size_t &index(const EDescriptor &ed)#
-
inline const size_t &index(const EDescriptor &ed) const#
-
inline VProperties &properties(const VDescriptor &vd)#
-
inline EProperties &properties(const EDescriptor &ed)#
-
inline const VDescriptor &descriptor(const V &vertex) const#
-
inline std::pair<AVIterator, AVIterator> adjacent_vertices(const VDescriptor &vd) const#
-
inline std::pair<OEIterator, OEIterator> out_edges(const VDescriptor &vd) const#
-
inline VDescriptor target(const EDescriptor &ed) const#
-
inline VDescriptor source(const EDescriptor &ed) const#
-
inline VDescriptor add_vertex(const V &vertex_bundle)#
-
inline EDescriptor add_edge(const VDescriptor &vd1, const VDescriptor &vd2, const E &e_bundle)#
-
template<class AdjointG>
inline std::pair<EDescriptor, typename AdjointG::VDescriptor> add_edge(const VDescriptor &vd1, const VDescriptor &vd2, const E &e_bundle, AdjointG &ag)#
-
inline void remove_edge(const EDescriptor &ed)#
-
template<class AdjointG>
inline void remove_edge(const EDescriptor &ed, AdjointG &ag)#
-
template<class Predicate>
inline void remove_out_edge_if(const VDescriptor &vd, const Predicate &pred) Remove all the out-edges of vertex u for which the predicate p returns true.
This expression is only required when the graph also models IncidenceGraph.
-
template<class Predicate>
inline void remove_in_edge_if(const VDescriptor &vd, const Predicate &pred) Remove all the in-edges of vertex u for which the predicate p returns true.
This expression is only required when the graph also models IncidenceGraph.
-
template<class Predicate>
inline void remove_edge_if(const VDescriptor &vd, const Predicate &pred) Remove all the in-edges of vertex u for which the predicate p returns true.
This expression is only required when the graph also models IncidenceGraph.
-
inline int stamp() const#
-
inline void update_vertices_indices()#
-
inline void update_edges_indices()#
-
inline void clear()#
-
inline void display() const#
-
inline bool state_assert() const#
-
inline bool adjacent_vertices_ok() const#
Protected Types
-
typedef void serializable#
Private Functions
-
SiconosGraph(const SiconosGraph&)#
Friends
- friend class boost::serialization::access
-
template<typename Archive>
friend void siconos_io(Archive&, SiconosGraph<V, E, VProperties, EProperties, GProperties>&, const unsigned int)#
-
typedef boost::graph_traits<proxy_graph_t>::edge_descriptor EDescriptor#
-
namespace boost#