|
PaGMO
1.1.5
|
Pan graph topology. More...
#include <pan.h>

Public Member Functions | |
| pan () | |
| Constructor. | |
| base_ptr | clone () const |
| Clone method. More... | |
| std::string | get_name () const |
| Get name of the topology. More... | |
Public Member Functions inherited from pagmo::topology::base | |
| base () | |
| Default constructor. More... | |
| base (const base &) | |
| Copy constructor. More... | |
| base & | operator= (const base &) |
| Assignment operator. More... | |
| virtual | ~base () |
| Trivial destructor. More... | |
| vertices_size_type | get_number_of_vertices () const |
| Get number of vertices. More... | |
| edges_size_type | get_number_of_edges () const |
| Get number of edges. More... | |
| void | push_back () |
| Push back vertex. More... | |
| double | get_average_shortest_path_length () const |
| Calculate average path length. More... | |
| double | get_clustering_coefficient () const |
| Calculate clustering coefficient. | |
| std::vector< double > | get_degree_distribution () const |
| Constructs the Degree Distribution. | |
| bool | are_adjacent (const vertices_size_type &, const vertices_size_type &) const |
| Return true if two vertices are adjacent. More... | |
| bool | are_inv_adjacent (const vertices_size_type &, const vertices_size_type &) const |
| Return true if two vertices are inversely adjacent. More... | |
| std::vector< vertices_size_type > | get_v_adjacent_vertices (const vertices_size_type &) const |
| Return vector of adjacent vertices. More... | |
| std::vector< vertices_size_type > | get_v_inv_adjacent_vertices (const vertices_size_type &) const |
| Return vector of inversely adjacent vertices. More... | |
| edges_size_type | get_num_adjacent_vertices (const vertices_size_type &) const |
| Return the number of adjacent vertices. More... | |
| edges_size_type | get_num_inv_adjacent_vertices (const vertices_size_type &) const |
| Return the number of inversely adjacent vertices. More... | |
| void | set_weight (double) |
| Sets the migration probability. More... | |
| void | set_weight (const vertices_size_type &, double) |
| Sets the migration probability. More... | |
| void | set_weight (const vertices_size_type &, const vertices_size_type &, double) |
| Sets the migration probability. More... | |
| double | get_weight (const vertices_size_type &, const vertices_size_type &) const |
| Get the migration probability. More... | |
| std::string | human_readable_terse () const |
| Return terse human readable representation. More... | |
| std::string | human_readable () const |
| Return complete human readable representation. More... | |
Protected Member Functions | |
| void | connect (const vertices_size_type &) |
| Establish connections between islands during a push_back() operation. More... | |
Protected Member Functions inherited from pagmo::topology::base | |
| void | add_vertex () |
| Add a vertex. More... | |
| std::pair< a_iterator, a_iterator > | get_adjacent_vertices (const vertices_size_type &) const |
| Return iterator range to adjacent vertices. More... | |
| std::pair< ia_iterator, ia_iterator > | get_inv_adjacent_vertices (const vertices_size_type &) const |
| Return iterator range to inversely adjacent vertices. More... | |
| void | add_edge (const vertices_size_type &, const vertices_size_type &) |
| Add an edge. More... | |
| void | remove_edge (const vertices_size_type &, const vertices_size_type &) |
| Remove an edge. More... | |
| void | remove_all_edges () |
| Remove all edges. More... | |
| std::pair< v_iterator, v_iterator > | get_vertices () const |
| Return iterator range to vertices. More... | |
| virtual std::string | human_readable_extra () const |
| Return extra information for human readable representation. More... | |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Public Types inherited from pagmo::topology::base | |
| typedef graph_type::vertices_size_type | vertices_size_type |
| Vertices size type. | |
| typedef graph_type::edges_size_type | edges_size_type |
| Edges size type. | |
Protected Types inherited from pagmo::topology::base | |
| typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, boost::no_property, edge_properties, boost::no_property, boost::listS > | graph_type |
| typedef boost::graph_traits< graph_type >::vertex_iterator | v_iterator |
| Iterator over the vertices. | |
| typedef boost::graph_traits< graph_type >::edge_iterator | e_iterator |
| Iterator over the edges. | |
| typedef boost::graph_traits< graph_type >::adjacency_iterator | a_iterator |
| Iterator over adjacent vertices. | |
| typedef graph_type::inv_adjacency_iterator | ia_iterator |
| Iterator over inversely adjacent vertices. | |
| typedef boost::graph_traits< graph_type >::vertex_descriptor | v_descriptor |
| Vertex descriptor. | |
| typedef boost::graph_traits< graph_type >::edge_descriptor | e_descriptor |
| Edge descriptor. | |
Pan graph topology.
The n-pan graph is the graph obtained by joining a cycle graph (i.e., a topology::ring topology) to a singleton graph with a bridge. This implementation has bidirectional edges in the ring and a single edge towards the singleton, so that communication can flow from the ring to the singleton, but not vice-versa. The index of the singleton vertex is always 0.
|
virtual |
Clone method.
Provided that the derived topology implements properly the copy constructor, virtually all implementations of this method will look like this:
Implements pagmo::topology::base.
|
protectedvirtual |
Establish connections between islands during a push_back() operation.
This method will be called by push_back() after a vertex has been added to the graph. The purpose of this method is to connect the newly-added vertex to other vertices according to the properties of the topology.
| [in] | idx | index of the newly-added vertex. |
Implements pagmo::topology::base.
|
virtual |
Get name of the topology.
Default implementation will return the class' mangled C++ name.
Reimplemented from pagmo::topology::base.
1.8.9.1