GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 7 / 0 / 7
Functions: 100.0% 7 / 0 / 7
Branches: -% 0 / 0 / 0

src/graph/ds/info/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../graph_c/lib.hpp"
4
5 namespace tifa_libs {
6 struct arc_cnt_tag : graph_info_impl_::graph_info_tag_base {
7 138 CEXPE arc_cnt_tag(u32) NE {}
8
9 186 ND CEXP u32 esize() CNE { return ecnt; }
10
11 protected:
12 u32 ecnt{0};
13 23510755 CEXP void add_arc(u32, u32, auto...) NE { ++ecnt; }
14 CEXP void del_arc(u32, u32, auto...) NE { --ecnt; }
15 };
16 template <class T>
17 struct vweight_tag : graph_info_impl_::graph_info_tag_base {
18 vec<T> vw;
19 CEXPE vweight_tag(u32 n) NE : vw(n) {}
20
21 protected:
22 CEXP void add_arc(u32, u32, auto...) NE {}
23 CEXP void del_arc(u32, u32, auto...) NE {}
24 };
25 struct degin_tag : graph_info_impl_::graph_info_tag_base {
26 vecu din;
27 804 CEXPE degin_tag(u32 n) NE : din(n) {}
28
29 protected:
30 74472229 CEXP void add_arc(u32, u32 v, auto...) NE { ++din[v]; }
31 CEXP void del_arc(u32, u32 v, auto...) NE { --din[v]; }
32 };
33 struct degout_tag : graph_info_impl_::graph_info_tag_base {
34 vecu dout;
35 804 CEXPE degout_tag(u32 n) NE : dout(n) {}
36
37 ND CEXP u32 deg_out(u32 u) CNE { return dout[u]; }
38
39 protected:
40 74472229 CEXP void add_arc(u32 u, u32, auto...) NE { ++dout[u]; }
41 CEXP void del_arc(u32 u, u32, auto...) NE { --dout[u]; }
42 };
43 } // namespace tifa_libs
44