GRASS GIS 8 Programmer's Manual  8.4.0dev(2024)-535c39c9fc
graph.h File Reference
#include "heap.h"
#include "tree.h"
Include dependency graph for graph.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _dglSPClipInput
 
struct  _dglSPClipOutput
 
struct  _dglSpanClipInput
 
struct  _dglSpanClipOutput
 
struct  dglNodePrioritizer_s
 
struct  dglEdgePrioritizer_s
 
struct  _dglGraph
 
struct  _dglSPArc
 
struct  _dglSPReport
 
struct  dglSPCache_s
 
struct  dglNodeTraverser_s
 
struct  dglEdgesetTraverser_s
 
struct  dglEdgeTraverser_s
 
struct  dglIOContext_s
 

Macros

#define DGL_GS_FLAT   0x1 /* otherwise is TREE */
 
#define DGL_GF_COMPLETE   0x1
 
#define DGL_GF_BIPARTITE   0x2
 
#define DGL_GF_REGULAR   0x4
 
#define DGL_GF_BOUQUET   0x8
 
#define DGL_GF_DIPOLE   0x10
 
#define DGL_GF_PATH   0x20
 
#define DGL_GF_CYCLE   0x40
 
#define DGL_GO_EdgePrioritize_COST   0x10
 
#define DGL_GO_EdgePrioritize_ATTR   0x20
 
#define DGL_GO_NodePrioritize_ATTR   0x40
 
#define DGL_NS_HEAD   0x1 /* node exists as at least one edge's head (static) */
 
#define DGL_NS_TAIL   0x2 /* node exists as at least one edge's tail (static) */
 
#define DGL_NS_ALONE   0x4 /* node is a component */
 
#define DGL_ES_DIRECTED   0x1 /* force edge to be directed */
 
#define DGL_ENDIAN_BIG   1
 
#define DGL_ENDIAN_LITTLE   2
 
#define DGL_STRONGCONNECT   0x1
 
#define DGL_ALONE   0x2
 
#define DGL_MERGE_EDGE   0x4
 
#define DGL_ERR_BadVersion   1
 
#define DGL_ERR_BadNodeType   2
 
#define DGL_ERR_MemoryExhausted   3
 
#define DGL_ERR_HeapError   4
 
#define DGL_ERR_UndefinedMethod   5
 
#define DGL_ERR_Write   6
 
#define DGL_ERR_Read   7
 
#define DGL_ERR_NotSupported   8
 
#define DGL_ERR_UnknownByteOrder   9
 
#define DGL_ERR_HeadNodeNotFound   10
 
#define DGL_ERR_TailNodeNotFound   11
 
#define DGL_ERR_BadEdge   12
 
#define DGL_ERR_BadOnFlatGraph   13
 
#define DGL_ERR_BadOnTreeGraph   14
 
#define DGL_ERR_NodeNotFound   15
 
#define DGL_ERR_TreeSearchError   16
 
#define DGL_ERR_UnexpectedNullPointer   17
 
#define DGL_ERR_VersionNotSupported   18
 
#define DGL_ERR_EdgeNotFound   19
 
#define DGL_ERR_NodeAlreadyExist   20
 
#define DGL_ERR_NodeIsAComponent   21
 
#define DGL_ERR_EdgeAlreadyExist   22
 
#define DGL_ERR_BadArgument   23
 

Typedefs

typedef struct _dglSPClipInput dglSPClipInput_s
 
typedef struct _dglSPClipOutput dglSPClipOutput_s
 
typedef struct _dglSpanClipInput dglSpanClipInput_s
 
typedef struct _dglSpanClipOutput dglSpanClipOutput_s
 
typedef struct _dglGraph dglGraph_s
 
typedef int(* dglSPClip_fn) (dglGraph_s *, dglSPClipInput_s *, dglSPClipOutput_s *, void *)
 
typedef int(* dglSpanClip_fn) (dglGraph_s *, dglGraph_s *, dglSpanClipInput_s *, dglSpanClipOutput_s *, void *)
 
typedef struct _dglSPArc dglSPArc_s
 
typedef struct _dglSPReport dglSPReport_s
 
typedef int(* dglWriteChunk_fn) (dglGraph_s *, unsigned char *pbChunk, int cbChunk, void *pvArg)
 

Functions

int dglInitialize (dglGraph_s *pGraph, dglByte_t Version, dglInt32_t NodeAttrSize, dglInt32_t EdgeAttrSize, dglInt32_t *pOpaqueSet)
 
int dglRelease (dglGraph_s *pGraph)
 
int dglUnflatten (dglGraph_s *pGraph)
 
int dglFlatten (dglGraph_s *pGraph)
 
void dglResetStats (dglGraph_s *pgraph)
 
dglInt32_tdglGetNode (dglGraph_s *pGraph, dglInt32_t nNodeId)
 
int dglAddNode (dglGraph_s *pGraph, dglInt32_t nNodeId, void *pvNodeAttr, dglInt32_t nFlags)
 
int dglDelNode (dglGraph_s *pGraph, dglInt32_t nNodeId)
 
dglInt32_t dglNodeGet_Id (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
dglInt32_tdglNodeGet_OutEdgeset (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
dglInt32_tdglNodeGet_InEdgeset (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
dglInt32_t dglNodeGet_Status (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
dglInt32_tdglNodeGet_Attr (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
void dglNodeSet_Attr (dglGraph_s *pGraph, dglInt32_t *pnNode, dglInt32_t *pnAttr)
 
int dglNodeGet_InDegree (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
int dglNodeGet_OutDegree (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
int dglNodeGet_Valence (dglGraph_s *pGraph, dglInt32_t *pnNode)
 
dglInt32_t dglEdgesetGet_EdgeCount (dglGraph_s *pGraph, dglInt32_t *pnOutEdgeset)
 
dglInt32_t dglEdgeGet_Id (dglGraph_s *pGraph, dglInt32_t *pnEdge)
 
dglInt32_t dglEdgeGet_Cost (dglGraph_s *pGraph, dglInt32_t *pnEdge)
 
dglInt32_tdglEdgeGet_Head (dglGraph_s *pGraph, dglInt32_t *pnEdge)
 
dglInt32_tdglEdgeGet_Tail (dglGraph_s *pGraph, dglInt32_t *pnEdge)
 
dglInt32_tdglEdgeGet_Attr (dglGraph_s *pGraph, dglInt32_t *pnEdge)
 
int dglEdgeSet_Attr (dglGraph_s *pGraph, dglInt32_t *pnAttr, dglInt32_t *pnEdge)
 
dglInt32_tdglGetEdge (dglGraph_s *pGraph, dglInt32_t nEdgeId)
 
int dglDelEdge (dglGraph_s *pGraph, dglInt32_t nEdgeId)
 
int dglAddEdge (dglGraph_s *pGraph, dglInt32_t nHead, dglInt32_t nTail, dglInt32_t nCost, dglInt32_t nEdge)
 
int dglAddEdgeX (dglGraph_s *pGraph, dglInt32_t nHead, dglInt32_t nTail, dglInt32_t nCost, dglInt32_t nEdge, void *pvFnodeAttr, void *pvTnodeAttr, void *pvEdgeAttr, dglInt32_t nFlags)
 
int dglWrite (dglGraph_s *pGraph, int fd)
 
int dglRead (dglGraph_s *pGraph, int fd)
 
int dglIOContextInitialize (dglGraph_s *, dglIOContext_s *)
 
void dglIOContextRelease (dglIOContext_s *)
 
int dglWriteChunk (dglIOContext_s *, dglWriteChunk_fn, void *pvArg)
 
int dglReadChunk (dglIOContext_s *, dglByte_t *pbChunk, int cbChunk)
 
int dglShortestPath (dglGraph_s *pGraph, dglSPReport_s **ppReport, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
 
int dglShortestPathGraph (dglGraph_s *pGraph, dglGraph_s *pGraphOut, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
 
int dglShortestDistance (dglGraph_s *pGraph, dglInt32_t *pnDistance, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
 
int dglShortestDistanceGraph (dglGraph_s *pGraph, dglGraph_s *pGraphOut, dglInt32_t nStartNode, dglInt32_t nDestinationNode, dglSPClip_fn fnClip, void *pvClipArg, dglSPCache_s *pCache)
 
int dglInitializeSPCache (dglGraph_s *pgraph, dglSPCache_s *pCache)
 
void dglReleaseSPCache (dglGraph_s *pgraph, dglSPCache_s *pCache)
 
void dglFreeSPReport (dglGraph_s *pGraph, dglSPReport_s *pSPReport)
 
int dglDepthSpanning (dglGraph_s *pgraphInput, dglGraph_s *pgraphOutput, dglInt32_t nVertexNode, dglSpanClip_fn fnClip, void *pvClipArg)
 
int dglDepthComponents (dglGraph_s *pgraphInput, dglGraph_s *pgraphComponents, int cgraphComponents, dglSpanClip_fn fnClip, void *pvClipArg)
 
int dglMinimumSpanning (dglGraph_s *pgraphInput, dglGraph_s *pgraphOutput, dglInt32_t nVertexNode, dglSpanClip_fn fnClip, void *pvClipArg)
 
int dglErrno (dglGraph_s *pgraph)
 
char * dglStrerror (dglGraph_s *pgraph)
 
int dglGet_Version (dglGraph_s *pGraph)
 
void dglSet_Version (dglGraph_s *pGraph, int Version)
 
int dglGet_Endianess (dglGraph_s *pGraph)
 
int dglGet_NodeAttrSize (dglGraph_s *pGraph)
 
int dglGet_EdgeAttrSize (dglGraph_s *pGraph)
 
int dglGet_NodeCount (dglGraph_s *pGraph)
 
int dglGet_HeadNodeCount (dglGraph_s *pGraph)
 
int dglGet_TailNodeCount (dglGraph_s *pGraph)
 
int dglGet_AloneNodeCount (dglGraph_s *pGraph)
 
int dglGet_EdgeCount (dglGraph_s *pGraph)
 
int dglGet_State (dglGraph_s *pGraph)
 
dglInt32_tdglGet_Opaque (dglGraph_s *pGraph)
 
void dglSet_Opaque (dglGraph_s *pGraph, dglInt32_t *pOpaque)
 
int dglGet_NodeSize (dglGraph_s *pGraph)
 
int dglGet_EdgeSize (dglGraph_s *pGraph)
 
dglInt64_t dglGet_Cost (dglGraph_s *pGraph)
 
void dglSet_Cost (dglGraph_s *pGraph, dglInt64_t nnCost)
 
dglInt32_t dglGet_Family (dglGraph_s *pGraph)
 
void dglSet_Family (dglGraph_s *pGraph, dglInt32_t nFamily)
 
dglInt32_t dglGet_Options (dglGraph_s *pGraph)
 
void dglSet_Options (dglGraph_s *pGraph, dglInt32_t nOptions)
 
dglEdgePrioritizer_sdglGet_EdgePrioritizer (dglGraph_s *pGraph)
 
dglNodePrioritizer_sdglGet_NodePrioritizer (dglGraph_s *pGraph)
 
int dglNode_T_Initialize (dglNodeTraverser_s *pTraverser, dglGraph_s *pGraph)
 
void dglNode_T_Release (dglNodeTraverser_s *pTraverser)
 
dglInt32_tdglNode_T_First (dglNodeTraverser_s *pTraverser)
 
dglInt32_tdglNode_T_Last (dglNodeTraverser_s *pTraverser)
 
dglInt32_tdglNode_T_Next (dglNodeTraverser_s *pTraverser)
 
dglInt32_tdglNode_T_Prev (dglNodeTraverser_s *pTraverser)
 
dglInt32_tdglNode_T_Find (dglNodeTraverser_s *pTraverser, dglInt32_t nNodeId)
 
int dglEdgeset_T_Initialize (dglEdgesetTraverser_s *pTraverser, dglGraph_s *pGraph, dglInt32_t *pnEdgeset)
 
void dglEdgeset_T_Release (dglEdgesetTraverser_s *pTraverser)
 
dglInt32_tdglEdgeset_T_First (dglEdgesetTraverser_s *pTraverser)
 
dglInt32_tdglEdgeset_T_Next (dglEdgesetTraverser_s *pTraverser)
 
int dglEdge_T_Initialize (dglEdgeTraverser_s *pTraverser, dglGraph_s *pGraph, dglEdgePrioritizer_s *pEdgePrioritizer)
 
void dglEdge_T_Release (dglEdgeTraverser_s *pTraverser)
 
dglInt32_tdglEdge_T_First (dglEdgeTraverser_s *pTraverser)
 
dglInt32_tdglEdge_T_Next (dglEdgeTraverser_s *pTraverser)
 

Macro Definition Documentation

◆ DGL_ALONE

#define DGL_ALONE   0x2

Definition at line 79 of file graph.h.

◆ DGL_ENDIAN_BIG

#define DGL_ENDIAN_BIG   1

Definition at line 71 of file graph.h.

◆ DGL_ENDIAN_LITTLE

#define DGL_ENDIAN_LITTLE   2

Definition at line 72 of file graph.h.

◆ DGL_ERR_BadArgument

#define DGL_ERR_BadArgument   23

Definition at line 274 of file graph.h.

◆ DGL_ERR_BadEdge

#define DGL_ERR_BadEdge   12

Definition at line 263 of file graph.h.

◆ DGL_ERR_BadNodeType

#define DGL_ERR_BadNodeType   2

Definition at line 253 of file graph.h.

◆ DGL_ERR_BadOnFlatGraph

#define DGL_ERR_BadOnFlatGraph   13

Definition at line 264 of file graph.h.

◆ DGL_ERR_BadOnTreeGraph

#define DGL_ERR_BadOnTreeGraph   14

Definition at line 265 of file graph.h.

◆ DGL_ERR_BadVersion

#define DGL_ERR_BadVersion   1

Definition at line 252 of file graph.h.

◆ DGL_ERR_EdgeAlreadyExist

#define DGL_ERR_EdgeAlreadyExist   22

Definition at line 273 of file graph.h.

◆ DGL_ERR_EdgeNotFound

#define DGL_ERR_EdgeNotFound   19

Definition at line 270 of file graph.h.

◆ DGL_ERR_HeadNodeNotFound

#define DGL_ERR_HeadNodeNotFound   10

Definition at line 261 of file graph.h.

◆ DGL_ERR_HeapError

#define DGL_ERR_HeapError   4

Definition at line 255 of file graph.h.

◆ DGL_ERR_MemoryExhausted

#define DGL_ERR_MemoryExhausted   3

Definition at line 254 of file graph.h.

◆ DGL_ERR_NodeAlreadyExist

#define DGL_ERR_NodeAlreadyExist   20

Definition at line 271 of file graph.h.

◆ DGL_ERR_NodeIsAComponent

#define DGL_ERR_NodeIsAComponent   21

Definition at line 272 of file graph.h.

◆ DGL_ERR_NodeNotFound

#define DGL_ERR_NodeNotFound   15

Definition at line 266 of file graph.h.

◆ DGL_ERR_NotSupported

#define DGL_ERR_NotSupported   8

Definition at line 259 of file graph.h.

◆ DGL_ERR_Read

#define DGL_ERR_Read   7

Definition at line 258 of file graph.h.

◆ DGL_ERR_TailNodeNotFound

#define DGL_ERR_TailNodeNotFound   11

Definition at line 262 of file graph.h.

◆ DGL_ERR_TreeSearchError

#define DGL_ERR_TreeSearchError   16

Definition at line 267 of file graph.h.

◆ DGL_ERR_UndefinedMethod

#define DGL_ERR_UndefinedMethod   5

Definition at line 256 of file graph.h.

◆ DGL_ERR_UnexpectedNullPointer

#define DGL_ERR_UnexpectedNullPointer   17

Definition at line 268 of file graph.h.

◆ DGL_ERR_UnknownByteOrder

#define DGL_ERR_UnknownByteOrder   9

Definition at line 260 of file graph.h.

◆ DGL_ERR_VersionNotSupported

#define DGL_ERR_VersionNotSupported   18

Definition at line 269 of file graph.h.

◆ DGL_ERR_Write

#define DGL_ERR_Write   6

Definition at line 257 of file graph.h.

◆ DGL_ES_DIRECTED

#define DGL_ES_DIRECTED   0x1 /* force edge to be directed */

Definition at line 66 of file graph.h.

◆ DGL_GF_BIPARTITE

#define DGL_GF_BIPARTITE   0x2

Definition at line 42 of file graph.h.

◆ DGL_GF_BOUQUET

#define DGL_GF_BOUQUET   0x8

Definition at line 44 of file graph.h.

◆ DGL_GF_COMPLETE

#define DGL_GF_COMPLETE   0x1

Definition at line 41 of file graph.h.

◆ DGL_GF_CYCLE

#define DGL_GF_CYCLE   0x40

Definition at line 47 of file graph.h.

◆ DGL_GF_DIPOLE

#define DGL_GF_DIPOLE   0x10

Definition at line 45 of file graph.h.

◆ DGL_GF_PATH

#define DGL_GF_PATH   0x20

Definition at line 46 of file graph.h.

◆ DGL_GF_REGULAR

#define DGL_GF_REGULAR   0x4

Definition at line 43 of file graph.h.

◆ DGL_GO_EdgePrioritize_ATTR

#define DGL_GO_EdgePrioritize_ATTR   0x20

Definition at line 53 of file graph.h.

◆ DGL_GO_EdgePrioritize_COST

#define DGL_GO_EdgePrioritize_COST   0x10

Definition at line 52 of file graph.h.

◆ DGL_GO_NodePrioritize_ATTR

#define DGL_GO_NodePrioritize_ATTR   0x40

Definition at line 54 of file graph.h.

◆ DGL_GS_FLAT

#define DGL_GS_FLAT   0x1 /* otherwise is TREE */

Definition at line 36 of file graph.h.

◆ DGL_MERGE_EDGE

#define DGL_MERGE_EDGE   0x4

Definition at line 80 of file graph.h.

◆ DGL_NS_ALONE

#define DGL_NS_ALONE   0x4 /* node is a component */

Definition at line 61 of file graph.h.

◆ DGL_NS_HEAD

#define DGL_NS_HEAD   0x1 /* node exists as at least one edge's head (static) */

Definition at line 59 of file graph.h.

◆ DGL_NS_TAIL

#define DGL_NS_TAIL   0x2 /* node exists as at least one edge's tail (static) */

Definition at line 60 of file graph.h.

◆ DGL_STRONGCONNECT

#define DGL_STRONGCONNECT   0x1

Definition at line 78 of file graph.h.

Typedef Documentation

◆ dglGraph_s

typedef struct _dglGraph dglGraph_s

◆ dglSpanClip_fn

typedef int(* dglSpanClip_fn) (dglGraph_s *, dglGraph_s *, dglSpanClipInput_s *, dglSpanClipOutput_s *, void *)

Definition at line 185 of file graph.h.

◆ dglSpanClipInput_s

◆ dglSpanClipOutput_s

◆ dglSPArc_s

typedef struct _dglSPArc dglSPArc_s

◆ dglSPClip_fn

typedef int(* dglSPClip_fn) (dglGraph_s *, dglSPClipInput_s *, dglSPClipOutput_s *, void *)

Definition at line 179 of file graph.h.

◆ dglSPClipInput_s

◆ dglSPClipOutput_s

◆ dglSPReport_s

typedef struct _dglSPReport dglSPReport_s

◆ dglWriteChunk_fn

typedef int(* dglWriteChunk_fn) (dglGraph_s *, unsigned char *pbChunk, int cbChunk, void *pvArg)

Definition at line 351 of file graph.h.

Function Documentation

◆ dglAddEdge()

int dglAddEdge ( dglGraph_s pGraph,
dglInt32_t  nHead,
dglInt32_t  nTail,
dglInt32_t  nCost,
dglInt32_t  nEdge 
)

◆ dglAddEdgeX()

int dglAddEdgeX ( dglGraph_s pGraph,
dglInt32_t  nHead,
dglInt32_t  nTail,
dglInt32_t  nCost,
dglInt32_t  nEdge,
void *  pvFnodeAttr,
void *  pvTnodeAttr,
void *  pvEdgeAttr,
dglInt32_t  nFlags 
)

◆ dglAddNode()

int dglAddNode ( dglGraph_s pGraph,
dglInt32_t  nNodeId,
void *  pvNodeAttr,
dglInt32_t  nFlags 
)

◆ dglDelEdge()

int dglDelEdge ( dglGraph_s pGraph,
dglInt32_t  nEdgeId 
)

◆ dglDelNode()

int dglDelNode ( dglGraph_s pGraph,
dglInt32_t  nNodeId 
)

◆ dglDepthComponents()

◆ dglDepthSpanning()

◆ dglEdge_T_First()

◆ dglEdge_T_Initialize()

int dglEdge_T_Initialize ( dglEdgeTraverser_s pTraverser,
dglGraph_s pGraph,
dglEdgePrioritizer_s pEdgePrioritizer 
)

◆ dglEdge_T_Next()

◆ dglEdge_T_Release()

◆ dglEdgeGet_Attr()

◆ dglEdgeGet_Cost()

◆ dglEdgeGet_Head()

◆ dglEdgeGet_Id()

◆ dglEdgeGet_Tail()

◆ dglEdgeSet_Attr()

◆ dglEdgeset_T_First()

◆ dglEdgeset_T_Initialize()

int dglEdgeset_T_Initialize ( dglEdgesetTraverser_s pTraverser,
dglGraph_s pGraph,
dglInt32_t pnEdgeset 
)

◆ dglEdgeset_T_Next()

◆ dglEdgeset_T_Release()

void dglEdgeset_T_Release ( dglEdgesetTraverser_s pTraverser)

◆ dglEdgesetGet_EdgeCount()

◆ dglErrno()

int dglErrno ( dglGraph_s pgraph)

Definition at line 1097 of file vector/dglib/graph.c.

References _dglGraph::iErrno.

◆ dglFlatten()

int dglFlatten ( dglGraph_s pGraph)

◆ dglFreeSPReport()

void dglFreeSPReport ( dglGraph_s pGraph,
dglSPReport_s pSPReport 
)

◆ dglGet_AloneNodeCount()

int dglGet_AloneNodeCount ( dglGraph_s pGraph)

Definition at line 1198 of file vector/dglib/graph.c.

References _dglGraph::cAlone.

◆ dglGet_Cost()

dglInt64_t dglGet_Cost ( dglGraph_s pGraph)

Definition at line 1253 of file vector/dglib/graph.c.

References _dglGraph::nnCost.

◆ dglGet_EdgeAttrSize()

int dglGet_EdgeAttrSize ( dglGraph_s pGraph)

◆ dglGet_EdgeCount()

int dglGet_EdgeCount ( dglGraph_s pGraph)

◆ dglGet_EdgePrioritizer()

dglEdgePrioritizer_s* dglGet_EdgePrioritizer ( dglGraph_s pGraph)

Definition at line 1283 of file vector/dglib/graph.c.

References _dglGraph::edgePrioritizer.

◆ dglGet_EdgeSize()

◆ dglGet_Endianess()

int dglGet_Endianess ( dglGraph_s pGraph)

Definition at line 1168 of file vector/dglib/graph.c.

References _dglGraph::Endian.

◆ dglGet_Family()

dglInt32_t dglGet_Family ( dglGraph_s pGraph)

Definition at line 1263 of file vector/dglib/graph.c.

References _dglGraph::nFamily.

◆ dglGet_HeadNodeCount()

int dglGet_HeadNodeCount ( dglGraph_s pGraph)

Definition at line 1188 of file vector/dglib/graph.c.

References _dglGraph::cHead.

◆ dglGet_NodeAttrSize()

◆ dglGet_NodeCount()

◆ dglGet_NodePrioritizer()

dglNodePrioritizer_s* dglGet_NodePrioritizer ( dglGraph_s pGraph)

Definition at line 1288 of file vector/dglib/graph.c.

References _dglGraph::nodePrioritizer.

◆ dglGet_NodeSize()

◆ dglGet_Opaque()

dglInt32_t* dglGet_Opaque ( dglGraph_s pGraph)

◆ dglGet_Options()

dglInt32_t dglGet_Options ( dglGraph_s pGraph)

Definition at line 1273 of file vector/dglib/graph.c.

References _dglGraph::nOptions.

◆ dglGet_State()

int dglGet_State ( dglGraph_s pGraph)

Definition at line 1208 of file vector/dglib/graph.c.

References _dglGraph::Flags.

◆ dglGet_TailNodeCount()

int dglGet_TailNodeCount ( dglGraph_s pGraph)

Definition at line 1193 of file vector/dglib/graph.c.

References _dglGraph::cTail.

◆ dglGet_Version()

int dglGet_Version ( dglGraph_s pGraph)

Definition at line 1159 of file vector/dglib/graph.c.

References _dglGraph::Version.

Referenced by dglDepthComponents(), dglDepthSpanning(), and dglMinimumSpanning().

◆ dglGetEdge()

dglInt32_t* dglGetEdge ( dglGraph_s pGraph,
dglInt32_t  nEdgeId 
)

◆ dglGetNode()

◆ dglInitialize()

◆ dglInitializeSPCache()

int dglInitializeSPCache ( dglGraph_s pgraph,
dglSPCache_s pCache 
)

◆ dglIOContextInitialize()

int dglIOContextInitialize ( dglGraph_s pG,
dglIOContext_s pIO 
)

◆ dglIOContextRelease()

void dglIOContextRelease ( dglIOContext_s )

◆ dglMinimumSpanning()

◆ dglNode_T_Find()

◆ dglNode_T_First()

◆ dglNode_T_Initialize()

◆ dglNode_T_Last()

dglInt32_t* dglNode_T_Last ( dglNodeTraverser_s pTraverser)

◆ dglNode_T_Next()

◆ dglNode_T_Prev()

dglInt32_t* dglNode_T_Prev ( dglNodeTraverser_s pTraverser)

◆ dglNode_T_Release()

◆ dglNodeGet_Attr()

◆ dglNodeGet_Id()

◆ dglNodeGet_InDegree()

◆ dglNodeGet_InEdgeset()

dglInt32_t* dglNodeGet_InEdgeset ( dglGraph_s pGraph,
dglInt32_t pnNode 
)

◆ dglNodeGet_OutDegree()

◆ dglNodeGet_OutEdgeset()

dglInt32_t* dglNodeGet_OutEdgeset ( dglGraph_s pGraph,
dglInt32_t pnNode 
)

◆ dglNodeGet_Status()

◆ dglNodeGet_Valence()

int dglNodeGet_Valence ( dglGraph_s pGraph,
dglInt32_t pnNode 
)

Definition at line 351 of file vector/dglib/graph.c.

Referenced by dglNodeGet_InDegree(), and dglNodeGet_OutDegree().

◆ dglNodeSet_Attr()

void dglNodeSet_Attr ( dglGraph_s pGraph,
dglInt32_t pnNode,
dglInt32_t pnAttr 
)

◆ dglRead()

int dglRead ( dglGraph_s pGraph,
int  fd 
)

◆ dglReadChunk()

int dglReadChunk ( dglIOContext_s pIO,
dglByte_t pbChunk,
int  cbChunk 
)

Definition at line 1627 of file vector/dglib/graph.c.

◆ dglRelease()

int dglRelease ( dglGraph_s pGraph)

◆ dglReleaseSPCache()

void dglReleaseSPCache ( dglGraph_s pgraph,
dglSPCache_s pCache 
)

◆ dglResetStats()

void dglResetStats ( dglGraph_s pgraph)

◆ dglSet_Cost()

void dglSet_Cost ( dglGraph_s pGraph,
dglInt64_t  nnCost 
)

Definition at line 1258 of file vector/dglib/graph.c.

References _dglGraph::nnCost.

◆ dglSet_Family()

void dglSet_Family ( dglGraph_s pGraph,
dglInt32_t  nFamily 
)

Definition at line 1268 of file vector/dglib/graph.c.

References _dglGraph::nFamily.

◆ dglSet_Opaque()

void dglSet_Opaque ( dglGraph_s pGraph,
dglInt32_t pOpaque 
)

Definition at line 1218 of file vector/dglib/graph.c.

References _dglGraph::aOpaqueSet.

◆ dglSet_Options()

void dglSet_Options ( dglGraph_s pGraph,
dglInt32_t  nOptions 
)

Definition at line 1278 of file vector/dglib/graph.c.

References _dglGraph::nOptions.

◆ dglSet_Version()

void dglSet_Version ( dglGraph_s pGraph,
int  Version 
)

Definition at line 1163 of file vector/dglib/graph.c.

References _dglGraph::Version.

◆ dglShortestDistance()

int dglShortestDistance ( dglGraph_s pGraph,
dglInt32_t pnDistance,
dglInt32_t  nStartNode,
dglInt32_t  nDestinationNode,
dglSPClip_fn  fnClip,
void *  pvClipArg,
dglSPCache_s pCache 
)

◆ dglShortestDistanceGraph()

int dglShortestDistanceGraph ( dglGraph_s pGraph,
dglGraph_s pGraphOut,
dglInt32_t  nStartNode,
dglInt32_t  nDestinationNode,
dglSPClip_fn  fnClip,
void *  pvClipArg,
dglSPCache_s pCache 
)

◆ dglShortestPath()

int dglShortestPath ( dglGraph_s pGraph,
dglSPReport_s **  ppReport,
dglInt32_t  nStartNode,
dglInt32_t  nDestinationNode,
dglSPClip_fn  fnClip,
void *  pvClipArg,
dglSPCache_s pCache 
)

◆ dglShortestPathGraph()

int dglShortestPathGraph ( dglGraph_s pGraph,
dglGraph_s pGraphOut,
dglInt32_t  nStartNode,
dglInt32_t  nDestinationNode,
dglSPClip_fn  fnClip,
void *  pvClipArg,
dglSPCache_s pCache 
)

◆ dglStrerror()

◆ dglUnflatten()

int dglUnflatten ( dglGraph_s pGraph)

◆ dglWrite()

int dglWrite ( dglGraph_s pGraph,
int  fd 
)

◆ dglWriteChunk()