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-04 02:06:09 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     3707467 : DBGraphVertex::adjacency_iterator::adjacency_iterator()
      13     3707467 :     : graph_(NULL) {
      14     3707467 : }
      15             : 
      16     1142513 : DBGraphVertex::adjacency_iterator::adjacency_iterator(DBGraph *graph,
      17     1142513 :                                                       Vertex vertex)
      18     1142513 :     : graph_(graph) {
      19     1142513 :     boost::tie(iter_, end_) = adjacent_vertices(vertex, *graph_->graph());
      20     1142513 : }
      21             : 
      22     3464296 : DBGraphVertex &DBGraphVertex::adjacency_iterator::dereference() const {
      23     3464296 :     Vertex adj = *iter_;
      24     3464296 :     return *(graph_->vertex_data(adj));
      25             : }
      26             : 
      27     1453456 : DBGraphVertex::edge_iterator::edge_iterator()
      28     1453456 :     : graph_(NULL), vertex_(NULL) {
      29     1453456 : }
      30             : 
      31      361135 : DBGraphVertex::edge_iterator::edge_iterator(DBGraph *graph,
      32      361135 :                                             DBGraphVertex *vertex)
      33      361135 :     : graph_(graph), vertex_(vertex) {
      34      361135 :     boost::tie(iter_, end_) = out_edges(vertex->vertex(), *graph_->graph());
      35      361135 : }
      36             : 
      37     1089336 : DBGraphEdge &DBGraphVertex::edge_iterator::dereference() const {
      38     1089336 :     Edge edge = *iter_;
      39     2178672 :     return *(graph_->edge_data(edge));
      40             : }
      41             : 
      42      289586 : DBGraphVertex *DBGraphVertex::edge_iterator::target() const {
      43      289586 :     Edge descriptor = *iter_;
      44      289586 :     DBGraphEdge *edge = graph_->edge_data(descriptor);
      45      289586 :     DBGraphVertex *v_target = edge->target(graph_);
      46      289586 :     if (v_target == vertex_) {
      47      114992 :         return edge->source(graph_);
      48             :     }
      49      174594 :     return v_target;
      50             : }
      51             : 
      52      108363 : bool DBGraphVertex::HasAdjacencies(DBGraph *graph) const {
      53      108363 :     DBGraphBase::adjacency_iterator iter, end;
      54      108363 :     boost::tie(iter, end) = adjacent_vertices(vertex_id_, *graph->graph());
      55      216726 :     return (iter != end);
      56             : }

Generated by: LCOV version 1.14