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-22 02:21:21 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     3705613 : DBGraphVertex::adjacency_iterator::adjacency_iterator()
      13     3705613 :     : graph_(NULL) {
      14     3705613 : }
      15             : 
      16     1141789 : DBGraphVertex::adjacency_iterator::adjacency_iterator(DBGraph *graph,
      17     1141789 :                                                       Vertex vertex)
      18     1141789 :     : graph_(graph) {
      19     1141789 :     boost::tie(iter_, end_) = adjacent_vertices(vertex, *graph_->graph());
      20     1141789 : }
      21             : 
      22     3462701 : DBGraphVertex &DBGraphVertex::adjacency_iterator::dereference() const {
      23     3462701 :     Vertex adj = *iter_;
      24     3462701 :     return *(graph_->vertex_data(adj));
      25             : }
      26             : 
      27     1450284 : DBGraphVertex::edge_iterator::edge_iterator()
      28     1450284 :     : graph_(NULL), vertex_(NULL) {
      29     1450284 : }
      30             : 
      31      360101 : DBGraphVertex::edge_iterator::edge_iterator(DBGraph *graph,
      32      360101 :                                             DBGraphVertex *vertex)
      33      360101 :     : graph_(graph), vertex_(vertex) {
      34      360101 :     boost::tie(iter_, end_) = out_edges(vertex->vertex(), *graph_->graph());
      35      360101 : }
      36             : 
      37     1087245 : DBGraphEdge &DBGraphVertex::edge_iterator::dereference() const {
      38     1087245 :     Edge edge = *iter_;
      39     2174490 :     return *(graph_->edge_data(edge));
      40             : }
      41             : 
      42      288367 : DBGraphVertex *DBGraphVertex::edge_iterator::target() const {
      43      288367 :     Edge descriptor = *iter_;
      44      288367 :     DBGraphEdge *edge = graph_->edge_data(descriptor);
      45      288367 :     DBGraphVertex *v_target = edge->target(graph_);
      46      288367 :     if (v_target == vertex_) {
      47      114601 :         return edge->source(graph_);
      48             :     }
      49      173766 :     return v_target;
      50             : }
      51             : 
      52      107999 : bool DBGraphVertex::HasAdjacencies(DBGraph *graph) const {
      53      107999 :     DBGraphBase::adjacency_iterator iter, end;
      54      107999 :     boost::tie(iter, end) = adjacent_vertices(vertex_id_, *graph->graph());
      55      215998 :     return (iter != end);
      56             : }

Generated by: LCOV version 1.14