Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
413 commits
Select commit Hold shift + click to select a range
3f8a9ce
Merge pull request #590 from Becheler/refactor/drop-boost-algorithm
Becheler Sep 6, 2026
b867dde
fix: remove dead weight
Becheler Sep 6, 2026
70a485b
Merge pull request #591 from Becheler/refactor/drop-boost-range
Becheler Sep 6, 2026
6e892f0
refactor: iwyu
Becheler Sep 6, 2026
ed67ec4
Merge pull request #580 from ascherer/improve-format-of-girth
Becheler Sep 6, 2026
76ad637
introduce using, some auto and remove old define for C11 STD
andreacassioli Sep 7, 2026
05e3411
Add CGAL to users.adoc
afabri Sep 8, 2026
bb7a1a3
Merge pull request #594 from afabri/AddCGALtoUsers
Becheler Sep 8, 2026
fcf0146
Merge pull request #592 from Becheler/refactor/narrow-parameter-include
Becheler Sep 8, 2026
b49e18d
Merge branch 'boostorg:develop' into introduce-auto-using-in-rcsp
andreacassioli Sep 8, 2026
bafef0e
clang formatted
andreacassioli Sep 10, 2026
3b6931f
more use of auto
andreacassioli Sep 12, 2026
54f60e6
introduce more auto; fix wrong change to visitor;
andreacassioli Sep 15, 2026
3023fd6
revert clang format change
andreacassioli Sep 16, 2026
4ad6a97
chore: replace NULL with nullptr in file dimacs.hpp
cxljs Sep 20, 2026
de2eed5
Merge pull request #596 from cxljs/nullptr
Becheler Sep 21, 2026
dbd4980
Wire up test/undirected_dfs_visitor.cpp in the test Jamfile
reach2sayan Sep 21, 2026
daa6f09
chore: Migrate 1.4 mcgregor_subgraphs.cpp with range-based for
NNhanptnk Sep 21, 2026
79212c6
fix: remove unused header
NNhanptnk Sep 23, 2026
979ab59
Merge pull request #597 from NNhanptnk/BGL_FORALL_-migration/mcgregor…
Becheler Sep 23, 2026
5bb05c2
Turn test/bidir_vec_remove_edge.cpp into a compile-fail test
reach2sayan Sep 23, 2026
119377f
Merge pull request #598 from reach2sayan/wire-undirected-dfs-visitor-…
Becheler Sep 23, 2026
bf18f75
Replace NULL with nullptr in minimum_degree_ordering_cpp
NNhanptnk Sep 23, 2026
6af13cf
Merge pull request #600 from reach2sayan/compile-fail/bidir_vec_remov…
Becheler Sep 23, 2026
f770311
Merge pull request #601 from NNhanptnk/NULL_to_nullptr-minimum_degree…
Becheler Sep 23, 2026
7f72464
Replace BOOST_FOREACH with range-based for in test/grid_graph_test.cpp
reach2sayan Sep 23, 2026
fdf2acf
Merge pull request #595 from andreacassioli/introduce-auto-using-in-rcsp
Becheler Sep 24, 2026
6c82e19
drop BOOST_STATIC_ASSERT in csr graph
andreacassioli Sep 24, 2026
75d369a
Replace BOOST_FOREACH with range-based for in test/incremental_compon…
reach2sayan Sep 24, 2026
f097016
Merge pull request #603 from reach2sayan/foreach/grid_graph_test
Becheler Sep 24, 2026
201fe13
Merge pull request #604 from reach2sayan/foreach/incremental_componen…
Becheler Sep 25, 2026
0a363f4
Merge pull request #583 from Becheler/refactor/drop-mpi-pbgl-awareness
Becheler Sep 25, 2026
469a9b9
fix: iwyu
Becheler Sep 25, 2026
87a6485
Merge pull request #606 from Becheler/fix/ci-missing-throw-exception-…
Becheler Sep 25, 2026
2879afe
Replace BOOST_FOREACH with
reach2sayan Sep 25, 2026
95d6152
Drone: scan example/ for dependencies
reach2sayan Sep 25, 2026
8bdb2bf
improve error message
andreacassioli Sep 25, 2026
4204da4
remove BOOST_ASSERT
andreacassioli Sep 26, 2026
236c2e8
Merge pull request #609 from reach2sayan/foreach/incremental-componen…
Becheler Sep 26, 2026
192743b
Replace BOOST_FOREACH with range-based for in
reach2sayan Sep 25, 2026
ccc1c7a
Replace BOOST_FOREACH with
reach2sayan Sep 25, 2026
baa1fe0
Merge pull request #607 from reach2sayan/foreach/graph-thingie
Becheler Sep 26, 2026
c4d93b5
Merge pull request #608 from reach2sayan/foreach/incremental_components
Becheler Sep 26, 2026
e52e0a7
Refactor BOOST_STATIC_ASSERT : add clarify message with static_assert…
NNhanptnk Sep 27, 2026
934afbc
Refactor BOOST_STATIC_ASSERT : clear BOOST_STATIC_ASSERT comments in …
NNhanptnk Sep 27, 2026
c92a562
Merge pull request #611 from NNhanptnk/BOOST_STATIC_ASSERT-graph_conc…
Becheler Sep 27, 2026
4eb045a
improve message
andreacassioli Sep 27, 2026
05479fe
merging
andreacassioli Sep 27, 2026
719df12
Merge remote-tracking branch 'origin/develop' into drop-BOOST_STATIC_…
andreacassioli Sep 27, 2026
7db1f1e
also take care of commented out case
andreacassioli Sep 27, 2026
4721162
Merge pull request #602 from andreacassioli/drop-BOOST_STATIC_ASSERT-…
Becheler Sep 28, 2026
79b93a5
fix message as for reviewer suggestion
andreacassioli Sep 28, 2026
7f7f18d
fix missing pascal case in graph concept
andreacassioli Sep 28, 2026
bfe4626
Merge remote-tracking branch 'origin/develop' into fix-missing-pascal…
andreacassioli Sep 28, 2026
e50c95a
Merge pull request #610 from andreacassioli/drop-BOOST_STATIC_ASSERTI…
Becheler Sep 28, 2026
4f0e250
Merge remote-tracking branch 'origin/develop' into fix-missing-pascal…
andreacassioli Sep 29, 2026
47cc781
drop old macro loop
andreacassioli Sep 29, 2026
d8b2edb
Merge pull request #612 from andreacassioli/fix-missing-pascal-case-g…
Becheler Sep 30, 2026
90226ec
Merge pull request #615 from andreacassioli/iterator-range-csr-test
Becheler Sep 30, 2026
abe69b5
doc: adding users page
Becheler Sep 30, 2026
4fc1f4f
remove the first two easy occurrencies
andreacassioli Sep 30, 2026
a0cf2db
remove the two commented oud
andreacassioli Sep 30, 2026
0ad6ceb
remove unnecessary includes
andreacassioli Sep 30, 2026
01eb61a
Refactor : replace BGL_FORALL_* macro with range-based for
NNhanptnk Sep 30, 2026
ef5d845
fix : adapt const auto& to auto (lvalue reference vs copy)
NNhanptnk Oct 1, 2026
42a9115
drop BOOST_NO_STD_ALLOCATOR
andreacassioli Oct 1, 2026
ed9c759
Merge pull request #617 from andreacassioli/remove-bgl-forall-graph-t…
Becheler Oct 2, 2026
9a762a8
Merge pull request #618 from NNhanptnk/BGL_FORALL_-mcgregor_common_su…
Becheler Oct 2, 2026
76acf01
drop BOOST_STATIC_CONSTANT
andreacassioli Oct 2, 2026
e30fd02
Merge remote-tracking branch 'origin/develop' into drop-BOOST_STATIC_…
andreacassioli Oct 2, 2026
9607329
Merge pull request #621 from andreacassioli/drop-BOOST_NO_STD_ALLOCATOR
Becheler Oct 2, 2026
5eaff91
remove include of unused header
andreacassioli Oct 2, 2026
635c6f0
Merge remote-tracking branch 'origin/develop' into drop-BOOST_STATIC_…
andreacassioli Oct 2, 2026
44380ac
Remove unnecessary dependency on Boost.Algorithm.
Lastique Oct 3, 2026
8bcc771
Merge pull request #623 from Lastique/feature/remove_algorithm_depend…
Becheler Oct 3, 2026
6009424
drop throw in favour of noexcept
andreacassioli Oct 3, 2026
7c263b6
Merge remote-tracking branch 'origin/develop' into use-noexcept-loop_…
andreacassioli Oct 3, 2026
4f8b63b
Remove unnecessary dependency on Boost.Serialization.
Lastique Oct 3, 2026
b9e03e9
Merge pull request #625 from Lastique/feature/remove_serialization_de…
jeremy-murphy Oct 3, 2026
ef7ae62
remove long time deprecated file edmunds_karp_max_flow.hpp
andreacassioli Oct 4, 2026
f5e7777
Merge remote-tracking branch 'origin/develop' into remove-deprecated-…
andreacassioli Oct 5, 2026
f93d932
Replace BOOST_STATIC_CONSTANT with static constexpr
varunsha30 Oct 5, 2026
ea69dda
Merge pull request #616 from Becheler/doc/who-are-our-users
Becheler Oct 6, 2026
0333a3e
Merge pull request #622 from andreacassioli/drop-BOOST_STATIC_CONSTAN…
Becheler Oct 6, 2026
1fa5b26
Merge pull request #626 from andreacassioli/remove-deprecated-edmunds…
Becheler Oct 6, 2026
1ee1a99
Merge pull request #628 from varunsha30/good-first-issues-tier-3
Becheler Oct 6, 2026
d5110c4
Use constexpr values in both `is_bgl_named_params` specializations. T…
varunsha30 Oct 6, 2026
583c900
fix: bound sequential_vertex_coloring by vertices(g), not num_vertice…
Becheler Oct 7, 2026
9d13ad5
Merge pull request #630 from Becheler/fix/627-coloring-filtered-graph
Becheler Oct 7, 2026
36e6a9d
doc: fix contribution guidelines
Becheler Oct 7, 2026
a58f1cb
Merge pull request #629 from varunsha30/issue-593-3.1-betweenness_cen…
Becheler Oct 7, 2026
8138304
Merge pull request #631 from Becheler/doc/update-PR-templates
Becheler Oct 7, 2026
62e0fd9
remove borland workaround
andreacassioli Oct 7, 2026
9790d46
revert include removal
andreacassioli Oct 7, 2026
0b05b7e
iostream included in example indirectly via random.hpp
andreacassioli Oct 7, 2026
cbedba8
Merge pull request #633 from andreacassioli/fix-indirect-inclusion-io…
Becheler Oct 7, 2026
7c9ff4c
Merge pull request #632 from andreacassioli/drop-borland-workaround-f…
Becheler Oct 8, 2026
f526341
feature: add support for stateful visitors for DFS
Becheler Sep 29, 2026
c9ce0a1
Merge pull request #614 from Becheler/feature/dfs-visitor-std-ref
Becheler Oct 8, 2026
34bdd0a
feature: stateful visitors for BFS
Becheler Oct 8, 2026
3953a03
feature: stateful visitors
Becheler Oct 8, 2026
bfc6252
feature: stateful visitors for shortest paths algorithms
Becheler Oct 8, 2026
1b73ac3
Merge pull request #634 from Becheler/feature/bfs-visitor-std-ref
Becheler Oct 8, 2026
910ac24
Merge pull request #635 from Becheler/feature/direct-visitor-std-ref
Becheler Oct 8, 2026
ac794e1
Merge pull request #636 from Becheler/feature/shortest-paths-visitor-…
Becheler Oct 8, 2026
72865ff
Merge remote-tracking branch 'origin/develop' into use-noexcept-loop_…
andreacassioli Oct 8, 2026
3bab181
update docs
andreacassioli Oct 8, 2026
aab8534
feature: adding stateful visitor for dijkstra and astar
Becheler Oct 8, 2026
a3e5d00
Merge pull request #637 from Becheler/feature/adapter-visitor-std-ref
Becheler Oct 9, 2026
cd52223
remove NULL from comment
andreacassioli Oct 9, 2026
30e14c0
Merge pull request #624 from andreacassioli/use-noexcept-loop_erased_…
Becheler Oct 9, 2026
98ec835
Replace BOOST_STATIC_CONSTANT in property.hpp
varunsha30 Oct 9, 2026
02ebe30
feature: support stateful visitors for neighbor_bfs and biconnected c…
Becheler Oct 9, 2026
422e1b9
Merge pull request #639 from Becheler/feature/neighbor-bfs-biconnecte…
Becheler Oct 10, 2026
57d6542
Merge pull request #640 from andreacassioli/remove-NULL-ptr-relaxed-heap
Becheler Oct 10, 2026
7fcc3f0
drop macros
andreacassioli Oct 11, 2026
0cbb9ac
Merge pull request #641 from varunsha30/issue-593-3.1-property
Becheler Oct 12, 2026
1af8f29
Use `std::move` and `std::unique_ptr` directly instead of retaining c…
varunsha30 Oct 12, 2026
f27cb02
chore: deprecate cxx14
Becheler Oct 12, 2026
3cd4aa3
Merge pull request #645 from Becheler/feature/deprecate-cxx14
Becheler Oct 12, 2026
de52c2c
Replace BOOST_STATIC_ASSERT in circle_layout.hpp
reach2sayan Oct 13, 2026
5f04f62
removed BOOST_NO_STD_ITERATOR_TRAITS from details/permutaiton.hpp
andreacassioli Oct 14, 2026
107eb54
remove BOOST_NO_STD_ITERATOR_TRAITS from isomorphism.hpp
andreacassioli Oct 14, 2026
1a11c0f
formatting
andreacassioli Oct 14, 2026
ae47854
remove remaining use of BOOST_NO_STD_ITERATOR_TRAITS
andreacassioli Oct 15, 2026
07e865f
Add `adjacency_matrix` serialization support.
varunsha30 Oct 15, 2026
afc7c1c
Merge pull request #642 from varunsha30/issue-593-3.2-adjacency_list
Becheler Oct 19, 2026
46cbf28
Add serialization support for `compressed_sparse_row_graph`
varunsha30 Oct 19, 2026
ebf75c9
Merge pull request #643 from andreacassioli/remove-BOOST_STATIC_CONST…
Becheler Oct 19, 2026
652e5b2
chore: re-trigger CI
varunsha30 Oct 19, 2026
1980e05
Merge pull request #646 from reach2sayan/static-assert/circle_layout
Becheler Oct 19, 2026
846a3e2
Merge pull request #647 from andreacassioli/remove-BOOST_NO_STD_ITERA…
Becheler Oct 19, 2026
51c7fdc
Merge pull request #648 from andreacassioli/remove-BOOST_NO_STD_ITERA…
Becheler Oct 19, 2026
2e05dd3
Merge pull request #649 from andreacassioli/remove-remaming-use-of-BO…
Becheler Oct 19, 2026
9c069ff
feat: support edges_are_sorted for bidirectionalS CSR graph
Becheler Oct 19, 2026
b0454d0
Merge pull request #653 from Becheler/bidir-csr-edges-are-sorted
Becheler Oct 19, 2026
21bb522
Merge remote-tracking branch 'origin/develop' into issue-473-serializ…
varunsha30 Oct 19, 2026
1dac7c2
Add bidirectional support for the CSR serializer.
varunsha30 Oct 19, 2026
ebb1b93
Added changes based on the comments.
varunsha30 Oct 19, 2026
141cddb
test: add Boost 1.90 serialization gold archives, fails since 1.92
Becheler Oct 19, 2026
14c5394
fix: restore adjacency_list serialization layout of Boost 1.91
Becheler Oct 19, 2026
03a8adc
Merge pull request #654 from Becheler/fix-serialize-layout
Becheler Oct 20, 2026
ddfafcc
remove BGL_FORALL
andreacassioli Oct 21, 2026
c17d008
remove also adjacency loop macro
andreacassioli Oct 21, 2026
5d054da
remove newly added include
andreacassioli Oct 21, 2026
d87f2a0
feat: support stateful visitors with make_biconnected_planar
Becheler Oct 22, 2026
5477c5f
feat: support stateful visitors for make_connected
Becheler Oct 22, 2026
a3922cd
feat: stateful visitors for planar face traversal
Becheler Oct 22, 2026
937b593
Merge pull request #658 from Becheler/feature/graph-ns-planar-face-tr…
Becheler Oct 22, 2026
c181918
Merge pull request #659 from Becheler/feature/graph-ns-make-connected
Becheler Oct 22, 2026
97bcd75
Merge pull request #660 from Becheler/feature/graph-ns-make-biconnect…
Becheler Oct 22, 2026
68ba1a5
feat: stateful visitor for make_maximal_planar_test
Becheler Oct 22, 2026
607388a
remove BOOST_NO_CXX11_ALLOCATOR
andreacassioli Oct 22, 2026
9b9f4fe
remove BOOST_NO_CXX11_ALLOCATOR
andreacassioli Oct 22, 2026
d2d10c3
Merge pull request #644 from Becheler/feature/homogeneous-visitor-sig…
Becheler Oct 23, 2026
b34ab29
Merge pull request #661 from andreacassioli/remove-BOOST_NO_CXX11_ALL…
Becheler Oct 23, 2026
09554d5
Merge pull request #662 from andreacassioli/remove-BOOST_NO_CXX11_ALL…
Becheler Oct 23, 2026
6b68ee7
infra: update codeowners and templates
Becheler Oct 23, 2026
1ae0c6a
deprecation: labeled and named graphs are broken and deprecated
Becheler Oct 23, 2026
c738e9f
Merge pull request #663 from Becheler/feature/github-infra
Becheler Oct 23, 2026
b43b6e5
Merge remote-tracking branch 'origin/develop' into do-not-use-BGL_FOR…
andreacassioli Oct 23, 2026
1fec870
add include
andreacassioli Oct 23, 2026
85c0753
fix template that are not pascal case
andreacassioli Oct 23, 2026
43e6bce
use nullptr
andreacassioli Oct 23, 2026
43e53a0
use make_iterator_range in csr example
andreacassioli Oct 23, 2026
1fa81eb
add few details about labels
andreacassioli Oct 25, 2026
2d6f070
use std min/max in topology.hpp
andreacassioli Oct 25, 2026
aa946db
test: boykov_kolmogorov_max_flow color map with several edges to the …
BayKeremm Oct 23, 2026
f954df8
fix: boykov_kolmogorov_max_flow color map with several edges to the sink
BayKeremm Oct 23, 2026
f6084ed
test: add coverage
Becheler Oct 26, 2026
039723b
test: copying from undirected to csr overflows
Becheler Oct 26, 2026
62ed6e2
fix: size CSR copies by counting out edges
Becheler Oct 26, 2026
ab9816d
Merge pull request #657 from andreacassioli/do-not-use-BGL_FORALL-iso…
Becheler Oct 27, 2026
cbae08b
Merge pull request #665 from andreacassioli/fix-template-case-details…
Becheler Oct 27, 2026
7ef6d32
Merge pull request #666 from andreacassioli/use-nullptr-example-impli…
Becheler Oct 27, 2026
856fed7
Merge pull request #667 from andreacassioli/use-make_iterator_range-e…
Becheler Oct 27, 2026
7aa08a6
fix: sgb does not needs all those deps
Becheler Oct 27, 2026
5e01460
Merge pull request #673 from Becheler/ci/sgb-no-install-recommends
Becheler Oct 27, 2026
813f1f4
test: add directed clustering coefficient coverage
Becheler Oct 27, 2026
99c6a3b
remove duplicated cmath include
andreacassioli Oct 27, 2026
786862b
resolve dangling reference to temporary warning.
varunsha30 Oct 27, 2026
2d3a278
Merge pull request #656 from BayKeremm/fix-bk-color-map
Becheler Oct 28, 2026
b0d5dd9
Merge pull request #664 from Becheler/feature/deprecate-named-labeled…
Becheler Oct 28, 2026
16f8efe
Merge pull request #669 from andreacassioli/min-max-in-topology-hpp
Becheler Oct 28, 2026
08d01bd
Merge pull request #670 from Becheler/fix/csr-copy-from-undirected
Becheler Oct 28, 2026
b965ed6
bug: clustering_coefficient fails on a graph without edge()
Becheler Oct 28, 2026
9516e2d
test: sorted CSR construction over-reserves edges
Becheler Oct 26, 2026
a694dd5
fix: reserve CSR storage when building from sorted edges
Becheler Oct 26, 2026
6394ad0
perf: use a two bit color map in connected_components
Becheler Oct 28, 2026
538d5d0
fix: drop leftover AdjacencyMatrix requirement in clustering_coefficient
Becheler Oct 28, 2026
09cc3cd
doc: update
Becheler Oct 28, 2026
6425996
Merge pull request #650 from varunsha30/issue-473-serialization-adj_m…
Becheler Oct 28, 2026
897aa19
Merge pull request #671 from Becheler/fix/csr-sorted-reserve
Becheler Oct 28, 2026
50614cc
refine
andreacassioli Oct 28, 2026
d755cdf
Merge pull request #674 from Becheler/fix/clustering-coefficient-cleanup
Becheler Oct 28, 2026
8265a10
Merge pull request #668 from andreacassioli/improve-docs-for-Resource…
Becheler Oct 29, 2026
47f203c
Merge pull request #676 from Becheler/perf/connected-components-two-b…
Becheler Oct 29, 2026
8af2ec8
fix: UB in closed_plus overflow and uninitialized Highway members
Becheler Oct 28, 2026
812b205
Merge pull request #677 from Becheler/fix/closed-plus-overflow
Becheler Oct 29, 2026
8015f52
ci: add UBSan job
Becheler Oct 29, 2026
c6bc85f
Merge pull request #551 from Becheler/ci/add-ubsan
Becheler Oct 29, 2026
e6c5ad5
ci: restrict sanitize workflow token to read-only
Becheler Oct 30, 2026
2bac61d
bug: strong_components fails with pointer map after reverse_graph.hpp
Becheler Oct 30, 2026
50d5ac7
Merge pull request #680 from Becheler/ci/sanitize-permissions
Becheler Oct 30, 2026
a9796f2
fix: remove get overloads from boost::detail
Becheler Oct 30, 2026
061decd
doc: add a note about the read-only map
Becheler Oct 30, 2026
11225a9
Merge pull request #681 from Becheler/fix/strong-components-adl-get
Becheler Oct 30, 2026
2165fe9
fix: restore min_max_paths example
Becheler Oct 30, 2026
354f6d9
Merge pull request #682 from Becheler/fix/min-max-paths-example
Becheler Oct 30, 2026
59d9769
test: add ordered out-edge lookup tests
Becheler Oct 31, 2026
0a668cb
fix: restore target lookups for custom ordered out-edge containers
Becheler Oct 31, 2026
39ee464
fix: reinstate ordered_out_edges example
Becheler Oct 31, 2026
1c80cac
Merge pull request #683 from Becheler/fix/issue-149-ordered-out-edges
Becheler Oct 31, 2026
79d6830
remove boost assert
andreacassioli Oct 31, 2026
9ee56ca
reintroduce assert remove by mistake
andreacassioli Oct 31, 2026
64d2b88
ci: images are brownout
Becheler Oct 31, 2026
c601de0
Merge pull request #685 from Becheler/ci/drop-macos-14
Becheler Oct 31, 2026
bac3ae4
test: CSR add_edges without properties reads a destroyed edge bundle
Becheler Oct 27, 2026
4569157
fix: keep CSR default edge bundle alive across reverse_iterator deref…
Becheler Oct 27, 2026
3f2da15
Merge pull request #672 from Becheler/fix/csr-add-edges-dangling-ref
Becheler Oct 31, 2026
5e6e456
bug: tiernan_all_cycles rejects adjacency_list
Becheler Nov 1, 2026
7844c67
fix: tiernan_all_cycles requires only a vertex_index map
Becheler Nov 1, 2026
3b4bfd5
test: reproduce issue 229 listS out edge instantiation failure
Becheler Nov 1, 2026
c2a3dc8
Merge remote-tracking branch 'origin/develop' into remove-boost-asser…
andreacassioli Nov 1, 2026
d61ab2c
fix: compile parallel edge lookup only for the selected out edge list
Becheler Nov 1, 2026
9021bb2
Merge pull request #686 from Becheler/fix/issue-182-tiernan-vertex-index
Becheler Nov 1, 2026
ddce215
Merge pull request #687 from Becheler/fix/issue-229-parallel-edge-sub…
Becheler Nov 1, 2026
a9415d4
restore include
andreacassioli Nov 1, 2026
8a363f3
Merge pull request #684 from andreacassioli/remove-boost-assert-vf2_s…
Becheler Nov 1, 2026
9e953b5
test: reproduce issue 231 connected_components on empty filtered graph
Becheler Nov 1, 2026
faddc54
fix: detect empty filtered graph in connected_components
Becheler Nov 1, 2026
ac96dc7
Merge pull request #691 from Becheler/fix/issue-231-empty-filtered-cc
Becheler Nov 1, 2026
67d7c9c
test: reproduce vf2 failures on vertex filtered graphs
Becheler Nov 1, 2026
0954b4d
vf2_sub_graph_iso.hpp: fix bug when subgraph is filtered
count0 Jan 2, 2022
d0411e3
vf2_sub_graph_iso.hpp: change get_num_vertices() to O(1) for unfilter…
count0 Jan 4, 2022
64b1f12
Change identifier style
jeremy-murphy Sep 13, 2023
14a8bea
fix: count filtered edges in vf2 size checks
Becheler Nov 1, 2026
3ec12fe
Merge pull request #692 from Becheler/fix/pr-282-vf2-filtered
Becheler Nov 1, 2026
ac9bb52
bug: edge_relaxed sees stale cost in astar_search
Becheler Nov 1, 2026
0fc28d9
fix: update astar cost before edge_relaxed
Becheler Nov 1, 2026
a58580f
doc: clarify r_c_shortest_paths edge_index_map deprecation
Becheler Nov 1, 2026
72827e4
doc: clarify planar_face_traversal faces on disconnected graphs
Becheler Nov 1, 2026
d6975bd
fix: require C++14 to build the library (#689)
Becheler Nov 1, 2026
bbff6fc
Merge pull request #693 from Becheler/fix/astar-edge-relaxed-cost
Becheler Nov 1, 2026
fc696bb
Merge pull request #694 from Becheler/doc/rcsp-edge-index-map-depreca…
Becheler Nov 1, 2026
ce2c940
Merge pull request #696 from Becheler/fix/issue-689-cxx11-build
Becheler Nov 1, 2026
c53ece8
bug: parallel edges left unlabeled by biconnected_components
Becheler Nov 1, 2026
84930b0
Merge pull request #695 from Becheler/doc/issue-343-face-traversal-co…
Becheler Nov 1, 2026
d975f51
fix: label parallel edges in biconnected_components
Becheler Nov 1, 2026
e62d023
Merge pull request #697 from Becheler/fix/issue-434-biconnected-paral…
Becheler Nov 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 37 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2019 - 2021 Alexander Grund
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
#
# Sample codecov configuration file. Edit as required

codecov:
max_report_age: off
require_ci_to_pass: no
notify:
# posix + windows coverage jobs both upload, so wait for both
after_n_builds: 2
wait_for_ci: no

# project = whole-codebase %; report it but never let it gate a merge.
# patch = coverage of the lines this PR changed; that stays the real gate.
coverage:
status:
project:
default:
informational: true
patch:
default:
target: 100%

# Change how pull request comments look
comment:
layout: "condensed_header, condensed_files, condensed_footer"
hide_project_coverage: true

# Ignore specific files or folders. Glob patterns are supported.
# See https://docs.codecov.com/docs/ignoring-paths
ignore:
- example/**
- test/**
# vendored third-party rapidxml parser, not our code to test
- include/boost/graph/detail/rapidxml.hpp
2 changes: 1 addition & 1 deletion .drone/drone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ git submodule update --init tools/boost_install
git submodule update --init libs/headers
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/graph
python tools/boostdep/depinst/depinst.py graph
python tools/boostdep/depinst/depinst.py -I example graph
./bootstrap.sh
./b2 headers

Expand Down
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# Contact details: CONTRIBUTING.md#maintainers

# Default reviewers for everything
* @jeremy-murphy @becheler
* @becheler

# Documentation, contributor-facing files, and CI configuration
/doc/ @becheler
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ title: ''
labels: ''
type: Bug
assignees: ''
projects: ["boostorg/20"]
---

<!--
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ title: ''
labels: docs
type: Task
assignees: ''
projects: ["boostorg/20"]
---

<!--
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ title: ''
labels: ''
type: Feature
assignees: ''
projects: ["boostorg/20"]
---

<!--
Expand Down
64 changes: 30 additions & 34 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,46 @@
<!--
Thanks for contributing to Boost.Graph! A few notes before you fill this in:

* Target the `develop` branch.
* New contributions must be licensed under the
[Boost Software License 1.0](https://www.boost.org/LICENSE_1_0.txt).
* Please link any related issue with `Fixes #N` or `Refs #N`.
Thanks for contributing to Boost.Graph! Please read the contribution guidelines first:
https://github.com/boostorg/graph/blob/develop/CONTRIBUTING.md
-->

### Before submitting

- [ ] This PR targets the `develop` branch.
- [ ] I searched for an existing PR or issue covering the same change.
- [ ] My contribution is licensed under the Boost Software License 1.0.

### Type of change
> [!IMPORTANT]
> **New algorithms and API additions need a design issue first.** Such a PR is not reviewed until an issue has settled the API and frozen the scope. PRs whose scope grows under review go stale. See [How To Contribute an Algorithm](https://github.com/boostorg/graph/discussions/495).

- [ ] Bug fix
- [ ] New feature or API addition
- [ ] Refactor (no behavior change)
- [ ] Documentation
- [ ] Build, CI, or tooling
- [ ] Other (specify below)

### Does this PR introduce a breaking change?
### Motivation

- [ ] Yes (describe migration impact below)
- [ ] No
<!--
Why is this needed?
Link related issue with `Fixes #N` or `Refs #N`. -->

### What this PR does

<!-- A short summary of the change. -->

### Motivation
### Before submitting

<!-- Why is this needed? Link related issue with `Fixes #N` or `Refs #N`. -->
- [ ] I searched for an existing PR or issue covering the same change.
- [ ] This PR targets the `develop` branch.
- [ ] My contribution is licensed under the Boost Software License 1.0.

### Testing
### Kind of change

<!--
How did you verify the change? Which compilers and standard libraries did
you build against? Were new tests added under `test/`?
-->
Tick **exactly one**. Each kind is reviewed differently, so mixing them in one PR makes the diff difficult to review ([why](https://github.com/boostorg/graph/blob/develop/CONTRIBUTING.md#one-kind-of-change-per-pr)).

### Checklist
- [ ] Reformat (layout only, no token added or removed)
- [ ] Refactor (no observable behavior change)
- [ ] Behavior change (observable to users of the library)
- [ ] No code change (documentation, build, CI, or tooling)

- [ ] Existing tests pass (`b2` in the `test/` directory).
- [ ] New behavior is covered by a test, or this is a docs / build / refactor change.
- [ ] Documentation was updated if user-facing behavior changed.
- [ ] No new compiler warnings on the platforms I built against.
### Change category

<!-- Tick any that apply to the kind above. -->

- [ ] Bug fix
- [ ] New algorithm or API addition
- [ ] Deprecation or removal
- [ ] Performance
- [ ] Tests
- [ ] Documentation
- [ ] Build, CI, or tooling
- [ ] Other (specify below)
131 changes: 131 additions & 0 deletions .github/scripts/dep_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
#!/usr/bin/env python3
"""Print a markdown table of Boost dependency changes between two CI log archives.

Usage: dep_table.py BASELINE.zip AFTER.zip

Each archive is a GitHub Actions run-log zip. The `deps` job of the
dependency-report workflow prints two marker-delimited boostdep reports into
its log:

===DEP-BRIEF-START=== boostdep --brief graph ===DEP-BRIEF-END===
===DEP-PRIMARY-START=== boostdep graph (primary) ===DEP-PRIMARY-END===

From those it derives two metrics and prints their delta vs the baseline:
- the set of transitive Boost modules graph depends on (from --brief:
Primary + Secondary sections = the full transitive closure), and
- the header-inclusion weight of each direct dependency (from the primary
report: how many distinct boost/graph files pull that dependency in).
Weights are the live signal, they drop toward zero as coupling is removed;
the module count is the coarse target that only moves when a dep hits zero.
"""
import re
import sys
import zipfile

BRIEF = ("===DEP-BRIEF-START===", "===DEP-BRIEF-END===")
PRIMARY = ("===DEP-PRIMARY-START===", "===DEP-PRIMARY-END===")
# Module names as boostdep prints them, e.g. "numeric~conversion".
MODULE = re.compile(r"[A-Za-z0-9_.~-]+")
TIMESTAMP = re.compile(r"^\d{4}-\d\d-\d\dT[\d:.]+Z\s?") # GitHub log line prefix
ANSI = re.compile(r"\x1b\[[0-9;]*m")


def read_clean_lines(zip_path):
"""Top-level per-job logs, with GitHub timestamp and ANSI prefixes stripped."""
lines = []
with zipfile.ZipFile(zip_path) as z:
for entry in z.namelist():
if "/" in entry or not entry.endswith(".txt"):
continue
for ln in z.read(entry).decode("utf-8", "replace").splitlines():
lines.append(TIMESTAMP.sub("", ANSI.sub("", ln)))
return lines


def block(lines, markers):
"""Lines strictly between the marker lines, matched exactly.

Exact matching is what skips the echoed `echo "<marker>"` command lines
GitHub prepends to a run step, so we capture boostdep's real stdout.
"""
start, end = markers
out, capturing = [], False
for ln in lines:
s = ln.strip()
if s == start:
capturing = True
continue
if s == end and capturing:
break
if capturing:
out.append(ln)
return out


def parse_brief(lines):
"""--brief output -> set of module names (one bare name per line)."""
mods = set()
for ln in lines:
s = ln.strip()
if not s or s.startswith("#") or s.lower().startswith("brief dependency"):
continue
if MODULE.fullmatch(s):
mods.add(s)
return mods


def parse_weights(lines):
"""Primary report -> {dependency: number of distinct graph files that pull it in}."""
weights, cur = {}, None
for ln in lines:
head = re.match(r"^([A-Za-z0-9_.~-]+):\s*$", ln) # "module:" at column 0
if head:
cur = head.group(1)
weights.setdefault(cur, set())
continue
frm = re.match(r"^\s+from\s+(.+?)\s*$", ln)
if frm and cur is not None:
weights[cur].add(frm.group(1))
return {k: len(v) for k, v in weights.items()}


def main(base_zip, pr_zip):
bl, pl = read_clean_lines(base_zip), read_clean_lines(pr_zip)
base_mods = parse_brief(block(bl, BRIEF))
pr_mods = parse_brief(block(pl, BRIEF))
base_w = parse_weights(block(bl, PRIMARY))
pr_w = parse_weights(block(pl, PRIMARY))

# Header-inclusion weights: the live signal. Only rows that changed, most-reduced first.
print("**Header-inclusion weights** (graph files pulling each direct dependency in):")
print()
changed = []
for dep in base_w.keys() | pr_w.keys():
b, p = base_w.get(dep, 0), pr_w.get(dep, 0)
if b != p:
changed.append((p - b, dep, b, p))
if changed:
print("| Dependency | develop | PR | Δ |")
print("|-----|--------:|---:|----:|")
for d, dep, b, p in sorted(changed): # reductions (negative delta) first
print(f"| {dep} | {b} | {p} | {d:+d} |")
else:
print("_No header-inclusion-weight changes._")
print()

# Transitive module set: the coarse target.
added = sorted(pr_mods - base_mods)
removed = sorted(base_mods - pr_mods)
nb, np_ = len(base_mods), len(pr_mods)
diff = np_ - nb
print(f"**Transitive Boost modules:** {nb} → {np_} ({f'{diff:+d}' if diff else '0'})")
if added:
print(f"- added: {', '.join(added)}")
if removed:
print(f"- removed: {', '.join(removed)}")


if __name__ == "__main__":
if len(sys.argv) != 3:
sys.exit("usage: dep_table.py BASELINE.zip AFTER.zip")
main(sys.argv[1], sys.argv[2])
18 changes: 10 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
run: cp -r $GITHUB_WORKSPACE/* libs/graph
working-directory: ../boost-root
- name: Install deps
run: python tools/boostdep/depinst/depinst.py graph
run: python tools/boostdep/depinst/depinst.py -I example graph
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
Expand All @@ -53,48 +53,50 @@
run: ../../../b2 print_config_info toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }}
run: ../../../b2 toolset=$TOOLSET cxxstd=${{ matrix.cxxstd }} cxxflags="-Wall -Wextra"
working-directory: ../boost-root/libs/graph/test
macos:
runs-on: macos-latest
runs-on: macos-15
strategy:
fail-fast: false
matrix:
toolset: [ clang ]
cxxstd: [ 14, 17, 20 ]
steps:
- uses: actions/checkout@master
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[linux];[Linux];[LINUX]'
commit-filter-separator: ';'
fail-fast: true
- name: Print pinned AppleClang version
run: clang++ --version
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update tools/boostdep
run: git submodule update --init tools/boostdep
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/graph
working-directory: ../boost-root
- name: Install deps
run: python tools/boostdep/depinst/depinst.py graph
run: python tools/boostdep/depinst/depinst.py -I example graph
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: Config info
run: ../../../b2 print_config_info toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }}
working-directory: ../boost-root/libs/config/test
- name: Test
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }} define=CI_SUPPRESS_KNOWN_ISSUES
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.cxxstd }} define=CI_SUPPRESS_KNOWN_ISSUES cxxflags="-Wall -Wextra"
working-directory: ../boost-root/libs/graph/test
windows_msvc_14_3:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
runs-on: windows-2022
defaults:
run:
Expand All @@ -121,7 +123,7 @@
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\graph
working-directory: ../boost-root
- name: Install deps
run: python tools/boostdep/depinst/depinst.py graph
run: python tools/boostdep/depinst/depinst.py -I example graph
working-directory: ../boost-root
- name: Bootstrap
run: bootstrap
Expand All @@ -143,7 +145,7 @@
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-14
- os: macos-26
- os: macos-15

runs-on: ${{matrix.os}}
Expand Down Expand Up @@ -190,7 +192,7 @@
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-14
- os: macos-26
- os: macos-15

runs-on: ${{matrix.os}}
Expand Down
Loading
Loading