|
template<typename Partition , typename Mapper > |
| container_manager_dynamic_graph (Partition const &partition, Mapper const &mapper, value_type const &default_value=value_type()) |
| Creates a base-container manager with the given size, partition and mapper, constructing all vertices with the value provided.
|
|
void | add_element (gid_type const &gid, value_type const &val) |
| Adds an element with the given GID and value to the base-container. More...
|
|
void | remove_element (gid_type const &gid) |
| Removes the element with the specified GID. More...
|
|
gid_set_type | make_gid_set () |
| Make an empty set of GIDs associated with this container manager.
|
|
template<typename Promise > |
void | find_first (Promise const &promise) |
| Returns the GID of the global first element of the pContainer, as per the ordering specified by base-container ordering. This is needed for the distributed domain.
|
|
template<typename Promise > |
void | find_last (Promise const &promise) |
| Returns the GID of the global last element of the pContainer, as per the ordering specified by base-container ordering. This is needed for the distributed domain.
|
|
gid_type | advance (gid_type const &g, long long n, bool globally=true) |
| Returns the GID of the element that is the specified number of steps ahead than the provided GID, as per the ordering specified by base-container ordering. This is needed for the distributed domain. More...
|
|
template<typename Partition , typename Mapper > |
void | redistribute (Partition const &partition, Mapper const &mapper, typename boost::enable_if< boost::mpl::and_< is_view_based< Partition >, is_view_based< Mapper > > >::type *=0) |
| Performs redistribution of the container elements into a new set of bContainers on possibly different locations to match the distribution specified by the partition and mapper provided. More...
|
|
bool | contains (gid_type const &gid) const |
| Returns true if the base-container managed by this base-container manager contains the element specified by the GID.
|
|
void | add_element (gid_type const &gid, value_type const &val) |
| Adds an element with the given GID and value to the base-container. More...
|
|
void | remove_element (gid_type const &gid) |
| Removes the element with the specified GID. More...
|
|
cid_type | within (gid_type const &gid) const |
| Returns the ID of the base-container storing the element with the specified GID. More...
|
|
size_t | num_elements (void) const |
| Returns the number of elements in the base-container managed.
|
|
size_t | num_edges (void) const |
| Returns the number of edges in the base-container managed.
|
|
size_t | num_self_edges (void) const |
| Returns the number of self edges in the base-container managed.
|
|
size_t | rank (base_container_type *bc) |
| Return the global rank of this base container in the pContainer.
|
|
template<typename Functor , typename Distribution > |
void | apply (gid_type const &gid, Functor const &f, Distribution *distribution) |
| Applies a function f to the element specified by the GID and pass along a pointer to the graph distribution. More...
|
|
template<typename GIDs , typename Functor , typename Distribution > |
void | aggregate_targets_apply (GIDs &&edges, Functor &&f, Distribution *distribution) |
| Applies a function f to the target of edges specified in a range, and pass along a pointer to the graph distribution. More...
|
|
template<typename Functor > |
bool | contains_apply_set (gid_type const &gid, Functor const &f) |
| Applies an arbitrary functor to the element at position GID if the element exists at this location. More...
|
|
template<typename Functor , typename Distribution > |
bool | contains_apply (gid_type const &gid, Functor const &f, Distribution *distribution) |
| Applies an arbitrary functor to the element at position GID if the element exists at this location. More...
|
|
template<typename Functor > |
void | apply_set (gid_type const &gid, Functor const &f) |
| Applies a function f to the element specified by the GID. More...
|
|
template<typename ED , typename Functor > |
void | ep_apply (ED const &ed, Functor const &f) |
| Applies a function f to the property of the edge specified by the edge descriptor. More...
|
|
template<typename ED , typename Functor > |
Functor::result_type | ep_apply_get (ED const &ed, Functor const &f) |
| Applies a function f to the property of the edge specified by the edge descriptor and returns the result. More...
|
|
template<typename ED , typename Functor > |
bool | ep_find_apply (ED const &ed, Functor const &f) |
| Applies a function f to the property of the edge specified by the edge descriptor, if it exists and returns whether or not the edge exists. More...
|
|
template<typename Functor > |
Functor::result_type | apply_get (gid_type const &gid, Functor const &f) |
| Applies a function f to the element specified by the GID, and returns the result. More...
|
|
template<typename Functor > |
Functor::result_type | apply_get (gid_type const &gid, Functor const &f) const |
| Applies a function f to the element specified by the GID, and returns the result. More...
|
|
template<typename Functor > |
boost::optional< typename Functor::result_type > | contains_apply_get (gid_type const &gid, Functor const &f) |
| Applies an arbitrary functor to the element at position GID if the element exists at this location. More...
|
|
template<typename Functor > |
boost::optional< typename Functor::result_type > | contains_apply_get (gid_type const &gid, Functor const &f) const |
| Applies an arbitrary functor to the element at position GID if the element exists at this location. More...
|
|
template<typename C , typename... T, typename... U> |
void | invoke (gid_type const &gid, void(C::*const &pmf)(T...), U &&... u) |
| Invoke a base container method on a certain GID. The element must exist in the current base container manager. More...
|
|
template<typename C , typename Rtn , typename... T, typename... U> |
Rtn | invoke (gid_type const &gid, Rtn(C::*const &pmf)(T...), U &&... u) |
| Invoke a base container method on a certain GID and return the result. The element must exist in the current base container manager. More...
|
|
template<typename C , typename... T, typename... U> |
bool | contains_invoke (gid_type const &gid, void(C::*const &pmf)(T...), U &&... u) |
| Invokes a base container method on the given gid if it is present on this location. More...
|
|
template<typename C , typename Rtn , typename... T, typename... U> |
boost::optional< Rtn > | contains_invoke (gid_type const &gid, Rtn(C::*const &pmf)(T...), U &&... u) |
| Invokes a base container method on the given gid if it is present on this location. More...
|
|
template<typename Class , typename Rtn , typename... PMFArgs, typename... Args> |
boost::optional< Rtn > | const_contains_invoke (gid_type const &gid, Rtn(Class::*const pmf)(PMFArgs...) const, Args &&... args) const |
| Invokes a base container method on the given gid if it is present on this location. More...
|
|
template<typename C , typename Rtn , typename... T, typename... U> |
Rtn | const_invoke (gid_type const &gid, Rtn(C::*const &pmf)(T...), U &&... u) const |
| Invoke a const base container method on a certain GID and return the result. The element must exist in the current base container manager. More...
|
|
template<typename Comparator , typename C , typename... T, typename... U> |
void | min_invoke (Comparator const &comp, void(C::*const &pmf)(T...), U &&... u) |
| Invoke a base container method returning void on the base container that minimizes a user-defined comparator over the base containers. More...
|
|
template<typename Comparator , typename C , typename Rtn , typename... T, typename... U> |
Rtn | min_invoke (Comparator const &comp, Rtn(C::*const &pmf)(T...), U &&... u) |
| Invoke a base container method on the base container that minimizes a user-defined comparator over the base containers. More...
|
|
bitmap_gid_set_type | make_bitmap_gid_set () |
| Make an empty set of GIDs associated with this container manager, stored as a bitset.
|
|
implied_gid_set_type | make_implied_gid_set () |
| Make a set of GIDs where every element managed by this container manager is included.
|
|
unique_gid_set_type | make_unique_gid_set () |
| Make an empty set of GIDs associated with this container manager, where only unique GIDs are stored.
|
|
template<typename BaseContainer, typename Registry>
class stapl::container_manager_dynamic_graph< BaseContainer, Registry >
Base-container manager for the dynamic_graph.
- Template Parameters
-
BaseContainer | Type of the base-container. |
This container manager stores only one base-container per location, because it is used by unordered containers which don't need multiple base-containers.