Detailed Description
a hypergraph with vertices, edges and overlaps of edge pairs
Definition at line 45 of file struct_hypergraph.h.
#include <struct_hypergraph.h>
Data Fields | |
| BMS_BLKMEM * | blkmem |
| size_t | sizevertexdata |
| size_t | sizeedgedata |
| size_t | sizeoverlapdata |
| int | nvertices |
| int | nedges |
| int | noverlaps |
| int | memvertices |
| size_t * | verticesdata |
| int | memedges |
| size_t * | edgesdata |
| int * | edgesverticesbeg |
| int | memedgesvertices |
| SCIP_HYPERGRAPH_EDGE * | edgesvertices |
| SCIP_Bool | hasvertexedges |
| int | memverticesedgesbeg |
| int * | verticesedgesbeg |
| int | memverticesedges |
| SCIP_HYPERGRAPH_VERTEX * | verticesedges |
| SCIP_Bool | hasoverlaps |
| SCIP_HASHTABLE * | overlaphashtable |
| int | memoverlaps |
| int * | overlapsverticesbeg |
| int | memoverlapsvertices |
| SCIP_HYPERGRAPH_VERTEX * | overlapsvertices |
| size_t * | overlapsdata |
| int | memedgesoverlapsbeg |
| int * | edgesoverlapsbeg |
| int | memedgesoverlaps |
| SCIP_HYPERGRAPH_OVERLAP * | edgesoverlaps |
| SCIP_Bool | hasoverlapsedges |
| int | memoverlapsedgesbeg |
| int * | overlapsedgesbeg |
| int | memoverlapsedges |
| SCIP_HYPERGRAPH_EDGE * | overlapsedges |
| SCIP_Bool | hasverticesoverlaps |
| int | memverticesoverlapsbeg |
| int * | verticesoverlapsbeg |
| int | memverticesoverlaps |
| SCIP_HYPERGRAPH_OVERLAP * | verticesoverlaps |
Field Documentation
◆ blkmem
| BMS_BLKMEM* SCIP_Hypergraph::blkmem |
Block memory for storage.
Definition at line 47 of file struct_hypergraph.h.
Referenced by ensureNumEdges(), ensureNumEdgesVertices(), ensureNumOverlaps(), ensureNumOverlapsVertices(), ensureNumVertices(), SCIPhypergraphBlkmem(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphIntersectEdges(), SCIPhypergraphIsValid(), SCIPhypergraphIterClear(), SCIPhypergraphIterInit(), and SCIPhypergraphIterNext().
◆ sizevertexdata
| size_t SCIP_Hypergraph::sizevertexdata |
Size (in bytes) of additional vertex data.
Definition at line 49 of file struct_hypergraph.h.
Referenced by ensureNumVertices(), SCIPhypergraphAddVertex(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphVertexData().
◆ sizeedgedata
| size_t SCIP_Hypergraph::sizeedgedata |
Size (in bytes) of additional edge data.
Definition at line 50 of file struct_hypergraph.h.
Referenced by ensureNumEdges(), SCIPhypergraphAddEdge(), SCIPhypergraphCreate(), SCIPhypergraphEdgeData(), and SCIPhypergraphFree().
◆ sizeoverlapdata
| size_t SCIP_Hypergraph::sizeoverlapdata |
Size (in bytes) of additional overlap data.
Definition at line 51 of file struct_hypergraph.h.
Referenced by ensureNumOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapData().
◆ nvertices
| int SCIP_Hypergraph::nvertices |
Number of vertices.
Definition at line 53 of file struct_hypergraph.h.
Referenced by SCIPhypergraphAddVertex(), SCIPhypergraphClear(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphGetNVertices(), and SCIPhypergraphIterNext().
◆ nedges
| int SCIP_Hypergraph::nedges |
Number of edges.
Definition at line 54 of file struct_hypergraph.h.
Referenced by SCIPhypergraphAddEdge(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphGetNEdges(), SCIPhypergraphGetNIncidences(), SCIPhypergraphIsValid(), and SCIPhypergraphIterNext().
◆ noverlaps
| int SCIP_Hypergraph::noverlaps |
Number of overlaps.
Definition at line 55 of file struct_hypergraph.h.
Referenced by findOverlap(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphComputeVerticesOverlaps(), and SCIPhypergraphGetNOverlaps().
◆ memvertices
| int SCIP_Hypergraph::memvertices |
Number of vertices for which memory is allocated.
Definition at line 57 of file struct_hypergraph.h.
Referenced by ensureNumVertices(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ verticesdata
| size_t* SCIP_Hypergraph::verticesdata |
Array with vertex data.
Definition at line 58 of file struct_hypergraph.h.
Referenced by ensureNumVertices(), SCIPhypergraphAddVertex(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphVertexData().
◆ memedges
| int SCIP_Hypergraph::memedges |
Number of edges for which memory is allocated.
Definition at line 59 of file struct_hypergraph.h.
Referenced by ensureNumEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ edgesdata
| size_t* SCIP_Hypergraph::edgesdata |
Array with vertex data.
Definition at line 61 of file struct_hypergraph.h.
Referenced by ensureNumEdges(), SCIPhypergraphAddEdge(), SCIPhypergraphCreate(), SCIPhypergraphEdgeData(), and SCIPhypergraphFree().
◆ edgesverticesbeg
| int* SCIP_Hypergraph::edgesverticesbeg |
Array with indices of edges' incident vertices.
Definition at line 62 of file struct_hypergraph.h.
Referenced by ensureNumEdges(), SCIPhypergraphAddEdge(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), SCIPhypergraphEdgeSize(), SCIPhypergraphEdgeVertices(), SCIPhypergraphFree(), SCIPhypergraphGetNIncidences(), SCIPhypergraphIntersectEdges(), and SCIPhypergraphIterNext().
◆ memedgesvertices
| int SCIP_Hypergraph::memedgesvertices |
Number of edges' vertices for which memory is allocated.
Definition at line 63 of file struct_hypergraph.h.
Referenced by ensureNumEdgesVertices(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ edgesvertices
| SCIP_HYPERGRAPH_EDGE* SCIP_Hypergraph::edgesvertices |
Array with all edges' vertices.
Definition at line 64 of file struct_hypergraph.h.
Referenced by ensureNumEdgesVertices(), SCIPhypergraphAddEdge(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), SCIPhypergraphEdgeVertices(), SCIPhypergraphFree(), SCIPhypergraphIntersectEdges(), and SCIPhypergraphIterNext().
◆ hasvertexedges
| SCIP_Bool SCIP_Hypergraph::hasvertexedges |
Whether there is a mapping from vertices to incident edges.
Definition at line 66 of file struct_hypergraph.h.
Referenced by SCIPhypergraphAddEdge(), SCIPhypergraphAddVertex(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphFree(), SCIPhypergraphHasVertexEdges(), SCIPhypergraphIterStart(), SCIPhypergraphVertexEdgesBeyond(), SCIPhypergraphVertexEdgesFirst(), and SCIPhypergraphVertexEdgesGetAtIndex().
◆ memverticesedgesbeg
| int SCIP_Hypergraph::memverticesedgesbeg |
Number of vertices for which memory is allocated for vertices' edges.
Definition at line 67 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesEdges(), and SCIPhypergraphCreate().
◆ verticesedgesbeg
| int* SCIP_Hypergraph::verticesedgesbeg |
Array with indices of vertices' incident edges.
Definition at line 68 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphIterNext(), SCIPhypergraphVertexEdgesBeyond(), and SCIPhypergraphVertexEdgesFirst().
◆ memverticesedges
| int SCIP_Hypergraph::memverticesedges |
Number of incidences for which memory is allocated.
Definition at line 69 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ verticesedges
| SCIP_HYPERGRAPH_VERTEX* SCIP_Hypergraph::verticesedges |
Array with all vertices' incident edges.
Definition at line 70 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesEdges(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphIterNext(), and SCIPhypergraphVertexEdgesGetAtIndex().
◆ hasoverlaps
| SCIP_Bool SCIP_Hypergraph::hasoverlaps |
Whether overlap sets are known.
Definition at line 72 of file struct_hypergraph.h.
Referenced by SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphEdgesOverlapsBeyond(), SCIPhypergraphEdgesOverlapsFirst(), SCIPhypergraphEdgesOverlapsGetAtIndex(), SCIPhypergraphFree(), SCIPhypergraphHasOverlaps(), SCIPhypergraphIntersectEdges(), SCIPhypergraphIterStart(), SCIPhypergraphOverlapFind(), SCIPhypergraphOverlapSize(), and SCIPhypergraphOverlapVertices().
◆ overlaphashtable
| SCIP_HASHTABLE* SCIP_Hypergraph::overlaphashtable |
Hashtable for overlap sets.
Definition at line 73 of file struct_hypergraph.h.
Referenced by findOverlap(), SCIPhypergraphClear(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ memoverlaps
| int SCIP_Hypergraph::memoverlaps |
Number of overlaps for which memory is allocated.
Definition at line 74 of file struct_hypergraph.h.
Referenced by ensureNumOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ overlapsverticesbeg
| int* SCIP_Hypergraph::overlapsverticesbeg |
Array with indices of overlaps' vertices.
Definition at line 75 of file struct_hypergraph.h.
Referenced by ensureNumOverlaps(), findOverlap(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphOverlapSize(), and SCIPhypergraphOverlapVertices().
◆ memoverlapsvertices
| int SCIP_Hypergraph::memoverlapsvertices |
Number of overlaps' vertices.
Definition at line 76 of file struct_hypergraph.h.
Referenced by ensureNumOverlapsVertices(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ overlapsvertices
| SCIP_HYPERGRAPH_VERTEX* SCIP_Hypergraph::overlapsvertices |
Array with all overlaps' vertices.
Definition at line 77 of file struct_hypergraph.h.
Referenced by ensureNumOverlapsVertices(), findOverlap(), SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapVertices().
◆ overlapsdata
| size_t* SCIP_Hypergraph::overlapsdata |
Array with overlaps' data.
Definition at line 78 of file struct_hypergraph.h.
Referenced by ensureNumOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapData().
◆ memedgesoverlapsbeg
| int SCIP_Hypergraph::memedgesoverlapsbeg |
Memory allocated for edgesoverlapsbeg minus 1.
Definition at line 79 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ edgesoverlapsbeg
| int* SCIP_Hypergraph::edgesoverlapsbeg |
Array with indices of edges' incident overlaps.
Definition at line 80 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), SCIPhypergraphEdgesOverlapsBeyond(), SCIPhypergraphEdgesOverlapsFirst(), and SCIPhypergraphFree().
◆ memedgesoverlaps
| int SCIP_Hypergraph::memedgesoverlaps |
Number of edges' overlaps for which memory is allocated.
Definition at line 81 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ edgesoverlaps
| SCIP_HYPERGRAPH_OVERLAP* SCIP_Hypergraph::edgesoverlaps |
Array with edges' incident overlaps.
Definition at line 82 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlaps(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), SCIPhypergraphEdgesOverlapsGetAtIndex(), and SCIPhypergraphFree().
◆ hasoverlapsedges
| SCIP_Bool SCIP_Hypergraph::hasoverlapsedges |
Whether overlaps' edges are known.
Definition at line 84 of file struct_hypergraph.h.
Referenced by SCIPhypergraphClear(), SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphFree(), SCIPhypergraphHasOverlapsEdges(), SCIPhypergraphOverlapsEdgesBeyond(), SCIPhypergraphOverlapsEdgesFirst(), and SCIPhypergraphOverlapsEdgesGetAtIndex().
◆ memoverlapsedgesbeg
| int SCIP_Hypergraph::memoverlapsedgesbeg |
Memory allocated for edgesOverlapsSlice minus 1.
Definition at line 85 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ overlapsedgesbeg
| int* SCIP_Hypergraph::overlapsedgesbeg |
Array with indices of overlaps' incident edges.
Definition at line 86 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphOverlapsEdgesBeyond(), and SCIPhypergraphOverlapsEdgesFirst().
◆ memoverlapsedges
| int SCIP_Hypergraph::memoverlapsedges |
Memory allocated for overlapsEdges.
Definition at line 87 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ overlapsedges
| SCIP_HYPERGRAPH_EDGE* SCIP_Hypergraph::overlapsedges |
Array with overlaps' incident edges.
Definition at line 88 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeOverlapsEdges(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphOverlapsEdgesGetAtIndex().
◆ hasverticesoverlaps
| SCIP_Bool SCIP_Hypergraph::hasverticesoverlaps |
Whether vertices' overlaps are known.
Definition at line 90 of file struct_hypergraph.h.
Referenced by SCIPhypergraphClear(), SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphFree(), SCIPhypergraphHasVertexOverlaps(), SCIPhypergraphVertexOverlapsBeyond(), SCIPhypergraphVertexOverlapsFirst(), and SCIPhypergraphVertexOverlapsGetAtIndex().
◆ memverticesoverlapsbeg
| int SCIP_Hypergraph::memverticesoverlapsbeg |
Memory allocated for verticesOverlapsSlice minus 1.
Definition at line 91 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ verticesoverlapsbeg
| int* SCIP_Hypergraph::verticesoverlapsbeg |
Array with indices of vertices' incident overlaps.
Definition at line 92 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), SCIPhypergraphVertexOverlapsBeyond(), and SCIPhypergraphVertexOverlapsFirst().
◆ memverticesoverlaps
| int SCIP_Hypergraph::memverticesoverlaps |
Memory allocated for verticesOverlaps.
Definition at line 93 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), and SCIPhypergraphFree().
◆ verticesoverlaps
| SCIP_HYPERGRAPH_OVERLAP* SCIP_Hypergraph::verticesoverlaps |
Array with vertices' incident overlaps.
Definition at line 94 of file struct_hypergraph.h.
Referenced by SCIPhypergraphComputeVerticesOverlaps(), SCIPhypergraphCreate(), SCIPhypergraphFree(), and SCIPhypergraphVertexOverlapsGetAtIndex().