LCOV - code coverage report
Current view: top level - db - db_graph_vertex.cc (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 33 33 100.0 %
Date: 2026-06-18 01:51:13 Functions: 8 8 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #include "db/db_graph_vertex.h"
       6             : 
       7             : #include "db/db_graph.h"
       8             : #include "db/db_graph_edge.h"
       9             : 
      10             : using namespace boost;
      11             : 
      12     3708613 : DBGraphVertex::adjacency_iterator::adjacency_iterator()
      13     3708613 :     : graph_(NULL) {
      14     3708613 : }
      15             : 
      16     1142454 : DBGraphVertex::adjacency_iterator::adjacency_iterator(DBGraph *graph,
      17     1142454 :                                                       Vertex vertex)
      18     1142454 :     : graph_(graph) {
      19     1142454 :     boost::tie(iter_, end_) = adjacent_vertices(vertex, *graph_->graph());
      20     1142454 : }
      21             : 
      22     3465262 : DBGraphVertex &DBGraphVertex::adjacency_iterator::dereference() const {
      23     3465262 :     Vertex adj = *iter_;
      24     3465262 :     return *(graph_->vertex_data(adj));
      25             : }
      26             : 
      27     1451197 : DBGraphVertex::edge_iterator::edge_iterator()
      28     1451197 :     : graph_(NULL), vertex_(NULL) {
      29     1451197 : }
      30             : 
      31      359977 : DBGraphVertex::edge_iterator::edge_iterator(DBGraph *graph,
      32      359977 :                                             DBGraphVertex *vertex)
      33      359977 :     : graph_(graph), vertex_(vertex) {
      34      359977 :     boost::tie(iter_, end_) = out_edges(vertex->vertex(), *graph_->graph());
      35      359977 : }
      36             : 
      37     1088282 : DBGraphEdge &DBGraphVertex::edge_iterator::dereference() const {
      38     1088282 :     Edge edge = *iter_;
      39     2176564 :     return *(graph_->edge_data(edge));
      40             : }
      41             : 
      42      289318 : DBGraphVertex *DBGraphVertex::edge_iterator::target() const {
      43      289318 :     Edge descriptor = *iter_;
      44      289318 :     DBGraphEdge *edge = graph_->edge_data(descriptor);
      45      289318 :     DBGraphVertex *v_target = edge->target(graph_);
      46      289318 :     if (v_target == vertex_) {
      47      114855 :         return edge->source(graph_);
      48             :     }
      49      174463 :     return v_target;
      50             : }
      51             : 
      52      108059 : bool DBGraphVertex::HasAdjacencies(DBGraph *graph) const {
      53      108059 :     DBGraphBase::adjacency_iterator iter, end;
      54      108059 :     boost::tie(iter, end) = adjacent_vertices(vertex_id_, *graph->graph());
      55      216118 :     return (iter != end);
      56             : }

Generated by: LCOV version 1.14