Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property Struct Reference

Data structure returned from add_edge that will "lazily" add the edge with its property, either when it is converted to a pair<edge_descriptor, bool> or when the most recent copy has been destroyed. More...

#include <adjacency_list.hpp>

Inheritance diagram for boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property:
Collaboration diagram for boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property:

Public Member Functions

 lazy_add_edge_with_property (adjacency_list &self, vertex_descriptor source, vertex_descriptor target, const edge_property_type &property)
 Construct a lazy request to add an edge. More...
 
 lazy_add_edge_with_property (const lazy_add_edge &other)
 Copying a lazy_add_edge transfers the responsibility for adding the edge to the newly-constructed object. More...
 
 ~lazy_add_edge_with_property ()
 If the edge has not yet been added, add the edge but don't wait for a reply. More...
 
 operator std::pair< edge_descriptor, bool > () const
 Returns commit(). More...
 
std::pair< edge_descriptor, bool > commit () const
 

Detailed Description

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
struct boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property

Data structure returned from add_edge that will "lazily" add the edge with its property, either when it is converted to a pair<edge_descriptor, bool> or when the most recent copy has been destroyed.

Constructor & Destructor Documentation

template<typename OutEdgeListS , typename ProcessGroup , typename InVertexListS , typename InDistribution , typename DirectedS , typename VertexProperty , typename EdgeProperty , typename GraphProperty , typename EdgeListS >
boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::lazy_add_edge_with_property ( adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS > &  self,
vertex_descriptor  source,
vertex_descriptor  target,
const edge_property_type property 
)
inline

Construct a lazy request to add an edge.

template<typename OutEdgeListS , typename ProcessGroup , typename InVertexListS , typename InDistribution , typename DirectedS , typename VertexProperty , typename EdgeProperty , typename GraphProperty , typename EdgeListS >
boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::lazy_add_edge_with_property ( const lazy_add_edge other)
inline

Copying a lazy_add_edge transfers the responsibility for adding the edge to the newly-constructed object.

template<typename OutEdgeListS , typename ProcessGroup , typename InVertexListS , typename InDistribution , typename DirectedS , typename VertexProperty , typename EdgeProperty , typename GraphProperty , typename EdgeListS >
boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::~lazy_add_edge_with_property ( )

If the edge has not yet been added, add the edge but don't wait for a reply.

If this edge has already been created or will be created by someone else, or if someone threw an exception, we will not create the edge now.

References boost::detail::parallel::add_local_edge(), boost::graph::distributed::send(), boost::source(), boost::target(), and boost::multiprecision::backends::this.

Member Function Documentation

template<typename OutEdgeListS , typename ProcessGroup , typename InVertexListS , typename InDistribution , typename DirectedS , typename VertexProperty , typename EdgeProperty , typename GraphProperty , typename EdgeListS >
std::pair< typename adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::edge_descriptor, bool > boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::commit ( ) const
template<typename OutEdgeListS , typename ProcessGroup , typename InVertexListS , typename InDistribution , typename DirectedS , typename VertexProperty , typename EdgeProperty , typename GraphProperty , typename EdgeListS >
boost::adjacency_list< OutEdgeListS, distributedS< ProcessGroup, InVertexListS, InDistribution >, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::lazy_add_edge_with_property::operator std::pair< edge_descriptor, bool > ( ) const
inline

Returns commit().


The documentation for this struct was generated from the following file: