Template Class LocalEdgeIndex¶
- Defined in File local_edge_index.h
Class Documentation¶
-
template <typename SrcT, typename DestT, typename StorageT = DefaultEdgeIndexStorage<SrcT, DestT>>
classLocalEdgeIndex
¶ The LocalEdgeIndex data structure.
SHAD’s LocalEdgeIndex is a “local”, thread-safe, associative container, representive a collection of neighbors lists of a graph. LocalEdgeIndexs can be used ONLY on the Locality on which they are created.
Public Functions
-
LocalEdgeIndex
(const size_t numVertices)¶ Constructor.
- Parameters
numVertices
: Expected number of vertices.
-
LocalEdgeIndex
(const size_t numVertices, const typename StorageT::SrcAttributesT &initAttr)¶
-
size_t
Size
() const¶ Size of the edgeIndex (number of entries).
- Return
- the size of the edgeIndex.
-
size_t
UpdateNumEdges
()¶
-
void
Insert
(const SrcT &src, const DestT &dest)¶
-
void
Insert
(const SrcT &src, const typename StorageT::LocalEdgeListChunk &chunk)¶
-
void
AsyncInsert
(rt::Handle &handle, const SrcT &src, const typename StorageT::LocalEdgeListChunk &chunk)¶
-
void
InsertEdgeList
(const SrcT &src, const DestT *destinations, size_t numDest, bool overwrite = true)¶
-
void
AsyncInsertEdgeList
(rt::Handle &handle, const SrcT &src, const DestT *destinations, size_t numDest, bool overwrite = true)¶
-
void
Erase
(const SrcT &src, const DestT &dest)¶
-
size_t
GetDegree
(const SrcT &src)¶
-
StorageT::NeighborListStorageT *
GetNeighbors
(const SrcT &src)¶
-
void
AsyncGetNeighbors
(rt::Handle &handle, const SrcT src, typename StorageT::NeighborListStorageT **res)¶
-
template <typename ApplyFunT, typename... Args>
voidForEachNeighbor
(const SrcT &src, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidAsyncForEachNeighbor
(rt::Handle &handle, const SrcT &src, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidForEachVertex
(ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidAsyncForEachVertex
(rt::Handle &handle, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidForEachEdge
(ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidAsyncForEachEdge
(rt::Handle &handle, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidForEachAttributedVertexNeighbor
(const SrcT &src, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidAsyncForEachAttributedVertexNeighbor
(rt::Handle &handle, const SrcT &src, ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidForEachAttributedVertex
(ApplyFunT &&function, Args&... args)¶
-
template <typename ApplyFunT, typename... Args>
voidAsyncForEachAttributedVertex
(rt::Handle &handle, ApplyFunT &&function, Args&... args)¶
-
StorageT::SrcAttributesT *
GetVertexAttributes
(const SrcT &src)¶
-
bool
GetVertexAttributes
(const SrcT &src, typename StorageT::SrcAttributesT *attr)¶
-
template <typename ApplyFunT, typename... Args>
voidVertexAttributesApply
(const SrcT &src, ApplyFunT &&function, Args&... args)¶
-
StorageT *
GetEdgesPtr
()¶
Friends
-
friend
shad::LocalEdgeIndex::LocalSet
-