Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
c48617d
add hublabel build and query code, get tests to build
electricEpilith Dec 9, 2025
9a5bbd3
replace placeholder getter stuff, rewrite hhlquery to take iterator
electricEpilith Dec 12, 2025
28add14
Merge remote-tracking branch 'upstream/master' into hublabel
electricEpilith Dec 12, 2025
3e009fa
debugging etc.
electricEpilith Jan 23, 2026
6755f44
Change hub_labels to a size_t vector, which the function to generate …
adamnovak Jan 23, 2026
37492aa
Merge remote-tracking branch 'upstream/hublabel' into hublabel
adamnovak Jan 23, 2026
0065e97
Define a type for the complex temporary X index indexing, and accesso…
adamnovak Jan 23, 2026
420c9e9
Use indexing accessors in make_boost_graph()
adamnovak Jan 23, 2026
5edfaa0
Add const accessors and fix build errors
adamnovak Jan 23, 2026
b9ba500
Write some hub labeling interface docs as I remember it, and add some…
adamnovak Jan 26, 2026
23e6745
Add synthetic debug logging and synthetic analysis results to make_bo…
adamnovak Jan 27, 2026
ad43882
Synthesize code to allocate vertices and avoid wasting them, and to h…
adamnovak Jan 27, 2026
0e6aa47
Redesign to only think of indexing inward-facing handles for converti…
adamnovak Jan 27, 2026
3619491
Teach CMake about Boost dependency
adamnovak Jan 27, 2026
7e33257
Stop putting negative-unsigned entries in the hub labels
adamnovak Jan 27, 2026
9a88f8f
Define what to do for asking about a node to itself, and test it
adamnovak Jan 27, 2026
ac07468
Qualify std::move calls to appease compiler
adamnovak Jan 27, 2026
3b84fb0
Const-ify arguments to label building
adamnovak Jan 27, 2026
227e4d1
De-comment the existing hub labeling test cases into distinct test ca…
adamnovak Jan 27, 2026
9b33554
Add some synthetic unit tests, with revisions, for some more graph sh…
adamnovak Jan 27, 2026
385efa8
Fix signature mismatch
adamnovak Jan 27, 2026
9ae76d4
Fix type name
adamnovak Jan 27, 2026
1d50a68
Merge remote-tracking branch 'origin/master' into hublabel
adamnovak Jan 28, 2026
fb774f2
Rework HHL vertex ID computation so we can actually find the right ve…
adamnovak Jan 28, 2026
a5c20a8
Be clear about who is responsible for initializing NodeProp fields, a…
adamnovak Jan 29, 2026
9a7e4c3
Produce more descriptive errors for out of bounds temporary snarl rec…
adamnovak Jan 29, 2026
a868f92
Fix cases where simple snarls could be accesed with the non-simple Sn…
adamnovak Jan 29, 2026
f8de1dc
Figure out ChainRecord is used to decode snarls sometimes and documen…
adamnovak Jan 29, 2026
41ccdf3
Stop trying to report types we aren't allowed to compute
adamnovak Jan 29, 2026
a3948d4
Handle ROOT record type as also needing to canonicalize to the one tr…
adamnovak Feb 2, 2026
0609855
Use stringification wrappers to avoid mis-indexing the enum name tables
adamnovak Feb 2, 2026
178857d
Turn off debugging prints and some of the checks
adamnovak Feb 2, 2026
8a85c23
Flag off more debug prints
adamnovak Feb 2, 2026
e9ff343
Merge branch 'hublabel' into HEAD
adamnovak Feb 10, 2026
9dc0326
Merge remote-tracking branch 'upstream/hublabel' into hublabel
adamnovak Feb 10, 2026
d429581
Adjust debugging for better diffing and add a distance promotion func…
adamnovak Feb 11, 2026
43a6bc7
Turn on debugging and add more query prints
adamnovak Feb 11, 2026
baa9b49
Rename orientation flags and start collecting constraints on them to …
adamnovak Feb 11, 2026
ee08df2
Turn on debugging again and fix adding to infinite unreachable loop d…
adamnovak Feb 13, 2026
f522ff9
Turn off debugging
adamnovak Feb 13, 2026
badfab6
Implement storing regularity in index via the type
adamnovak Mar 20, 2026
1522fa9
Fix non-Python build
adamnovak Mar 20, 2026
46aa094
Enable debugging and stop OR-ing in enum values
adamnovak Mar 20, 2026
efa47f2
Turn off debugging
adamnovak Mar 20, 2026
bb713f4
Try not to run a jillion threads during tests
adamnovak Mar 20, 2026
00327bd
Add get_snarl_child_count and use hub labels for oversized snarl dist…
electricEpilith Mar 24, 2026
72eefa7
Count simple and trivial snarls as regular because zip codes do
adamnovak Mar 24, 2026
0be8fda
Merge branch 'mergePlaceholder' into hublabel
electricEpilith Mar 30, 2026
28d2d2b
add back get_snarl_child_count
electricEpilith Mar 30, 2026
4c70990
Merge remote-tracking branch 'origin/hublabel-debug' into hublabel
electricEpilith Mar 30, 2026
5acf1f4
Fix duplicate get_snarl_child_count declaration/definition from merge
electricEpilith Mar 30, 2026
fdb9a74
upgrade version number to 5
electricEpilith Apr 2, 2026
ea70e55
upgrade version number
electricEpilith Apr 2, 2026
09f9d6e
fix conflict from accidentally doing the same version upgrade twice
electricEpilith Apr 7, 2026
2c3c0db
Add CHOverlay output
adamnovak Apr 22, 2026
a7602fd
Address some of my own review comments
adamnovak Apr 22, 2026
a169eca
prevent sdsl conflicts
electricEpilith Apr 26, 2026
531e77e
prevent libhandlegraph conflicts
electricEpilith Apr 26, 2026
5aff1a5
prevent hopscotch conflicts
electricEpilith Apr 26, 2026
789ad6d
prevent mio conflicts
electricEpilith Apr 26, 2026
78584c4
Update bdsg/include/bdsg/internal/indexing_iterator.hpp
electricEpilith May 8, 2026
d6dffdd
Fix collections misspelling
electricEpilith May 8, 2026
9882957
Fix typos
electricEpilith May 8, 2026
90289e8
Fix collections typo
electricEpilith May 8, 2026
772d34c
Update bdsg/include/bdsg/internal/indexing_iterator.hpp
electricEpilith May 8, 2026
2d12064
CI needs to have Boost to support contraction hierarchy code
electricEpilith May 13, 2026
83cea1f
consolidate contraction-hierarchy/hub-labeling stuff
electricEpilith May 13, 2026
8e57a39
fix errors caused by const conflicts
electricEpilith May 13, 2026
467ab3d
fix PYBIND11_MAKE_OPAQUE 'a type specifier is required for all declar…
electricEpilith May 13, 2026
b5abb87
format code
electricEpilith May 13, 2026
91b0e91
uncomment non-hub-labeling tests
electricEpilith May 13, 2026
1c35a3b
mention Boost dep
electricEpilith May 13, 2026
78b6d68
Remove unnecessary assert
electricEpilith May 15, 2026
768a6a0
add include guard
electricEpilith May 15, 2026
b06d1e1
mention Boost in dep list
electricEpilith May 15, 2026
4fbdd5a
reject v4 indexes
electricEpilith May 15, 2026
7a41612
convert /// comments to doc comments
electricEpilith May 16, 2026
421ea29
convert /// comment to doc comment
electricEpilith May 16, 2026
a9ccb25
remove TODO, we're not making separate RecordWriter for oversized snarls
electricEpilith May 16, 2026
1b72048
fix commenting errors
electricEpilith May 16, 2026
376501a
better file comment
electricEpilith May 16, 2026
d650c3f
not a test file
electricEpilith May 16, 2026
ed24eed
remove unnecessary comment
electricEpilith May 16, 2026
39fb7c4
remove `_, __` variables in favor of boost::make_iterator_range
electricEpilith May 20, 2026
68e181c
don't use contractions in variable names
electricEpilith May 20, 2026
0ac4dea
delete unnecessary commented-out code
electricEpilith May 20, 2026
8dc1232
add comments for edge_diff
electricEpilith May 21, 2026
d908f66
add comments for contract()
electricEpilith May 23, 2026
855f7f2
remove unneeded nodes vector in make_contraction_hierarchy
electricEpilith May 23, 2026
faf65f9
fix typos
electricEpilith May 23, 2026
e4fc8e6
removed unused get_hop_limit()
electricEpilith May 23, 2026
ce202a0
add comments to make_contraction_hierarchy
electricEpilith May 23, 2026
eaa86e3
clearer variable names in make_contraction_hierarchy
electricEpilith May 23, 2026
a89ce41
more commented-out code removal
electricEpilith May 23, 2026
cfb00cb
make a couple comments more specific
electricEpilith May 23, 2026
67fb068
fix clangd include errors
electricEpilith May 23, 2026
1ad0a9b
add operator[] to IndexingIterator
electricEpilith May 23, 2026
01080f2
remove unnecessary code
electricEpilith May 23, 2026
dea7fbe
fix bug where hub labels for root snarls weren't being written to index
electricEpilith May 24, 2026
6346278
fix root snarl ranks 0 and 1 bug
electricEpilith May 24, 2026
8b76b79
rename vec
electricEpilith May 29, 2026
ff6237e
fix get_node docstrings
electricEpilith May 29, 2026
20d570c
vec rename
electricEpilith May 29, 2026
e0adffb
don't need to store packed hub label vector length
electricEpilith May 29, 2026
84d261d
fix major comment formatting errors
electricEpilith Jun 15, 2026
380a7fa
remove commented out code line
electricEpilith Jun 15, 2026
dd115d1
another commented-out code removal
electricEpilith Jun 15, 2026
c17e0a4
rename label-building functions, add doc comments
electricEpilith Jun 16, 2026
44db266
Merge branch 'master' into hublabel
electricEpilith Jun 16, 2026
a86c7d0
remove unused functions
electricEpilith Jun 16, 2026
410e906
two * in first line of doc comment
electricEpilith Jun 16, 2026
9beca4f
clarify should_not_contract explanation
electricEpilith Jun 17, 2026
408c920
doc comment and rename to create_labels_test
electricEpilith Jun 17, 2026
7487bbb
fix errors caused by recent merge commit
electricEpilith Jun 17, 2026
a93c6df
Regenerate pybind11 bindings; exclude ch.hpp from binding
electricEpilith Jun 18, 2026
cf3dce9
rename create_labels_test back to create_labels
electricEpilith Jun 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/testmac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Run build and test
run: |
set -e
brew install libomp doxygen jansson
brew install libomp doxygen jansson boost
mkdir -p build
cd build
cmake .. -DRUN_DOXYGEN=ON -DPYTHON_EXECUTABLE="$(which python3)"
Expand Down
30 changes: 20 additions & 10 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ OPTION(USE_INSTALLED_LIBHANDLEGRAPH "Use the version of libhandlegraph installed
# TODO: We can only do out-of-source builds!
# TODO: How do we error out meaningfully on in-source builds?

# We build using c++17
# See also: standard in make_and_run_binder.py
# See also: standard in Makefile
set(CMAKE_CXX_STANDARD 17)
# We build using c++20
set(CMAKE_CXX_STANDARD 20)
# We need library paths to be relative in the build directories so we can let
# the libraries in our Python module find each other when we package them into
# a wheel. This only works on CMake 3.14+; older CMake we have to bully with
Expand Down Expand Up @@ -145,6 +143,8 @@ endif()
# Find other system dependencies
pkg_check_modules(Jansson REQUIRED IMPORTED_TARGET jansson)

find_package(Boost REQUIRED)
Comment thread
electricEpilith marked this conversation as resolved.

# Find our bdsg package directory where input sources and dependencies are
set(bdsg_DIR "${CMAKE_CURRENT_SOURCE_DIR}/bdsg")

Expand All @@ -160,15 +160,19 @@ include(ExternalProject)

# sdsl-lite (gives an "sdsl" target)
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build sdsl-lite shared libraries")
add_subdirectory("${bdsg_DIR}/deps/sdsl-lite")
if (NOT TARGET sdsl)
add_subdirectory("${bdsg_DIR}/deps/sdsl-lite")
endif()
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# It produces divsufsort and divsufsort64 targets that don't know they need OMP on Mac.
set_target_properties(divsufsort PROPERTIES LINK_FLAGS "-lomp")
set_target_properties(divsufsort64 PROPERTIES LINK_FLAGS "-lomp")
endif()

# hopscotch_map (required by DYNAMIC, gives a "tsl::hopscotch_map" target)
add_subdirectory("${bdsg_DIR}/deps/hopscotch-map")
if (NOT TARGET tsl::hopscotch_map)
add_subdirectory("${bdsg_DIR}/deps/hopscotch-map")
endif()

# DYNAMIC (header only)
# Does not ship its own install step or define a target, so we make our own target
Expand All @@ -187,7 +191,9 @@ elseif (TARGET handlegraph_objs)
message("Using libhandlegraph built by another CMake")
else ()
message("Using bundled libhandlegraph")
add_subdirectory("${bdsg_DIR}/deps/libhandlegraph")
if (NOT TARGET handlegraph_shared AND NOT TARGET handlegraph)
add_subdirectory("${bdsg_DIR}/deps/libhandlegraph")
endif()
endif()


Expand All @@ -203,7 +209,9 @@ add_library(sparsepp INTERFACE)
target_include_directories(sparsepp INTERFACE "${bdsg_DIR}/deps/sparsepp/")

# mio (header only)
add_subdirectory("${bdsg_DIR}/deps/mio")
if (NOT TARGET mio::mio)
add_subdirectory("${bdsg_DIR}/deps/mio")
endif()

if (BUILD_PYTHON_BINDINGS)

Expand Down Expand Up @@ -308,6 +316,7 @@ add_library(bdsg_objs OBJECT
${bdsg_DIR}/src/strand_split_overlay.cpp
${bdsg_DIR}/src/utility.cpp
${bdsg_DIR}/src/vectorizable_overlays.cpp
${bdsg_DIR}/src/ch.cpp
${bdsg_DIR}/src/snarl_distance_index.cpp
)

Expand All @@ -326,7 +335,8 @@ set(bdsg_TARGET_DEPS
bbhash
sparsepp
mio::mio
PkgConfig::Jansson)
PkgConfig::Jansson
Boost::boost)

set(bdsg_LIBS
${bdsg_TARGET_DEPS}
Expand All @@ -340,7 +350,7 @@ target_include_directories(bdsg_objs PUBLIC ${bdsg_INCLUDES})
set_target_properties(bdsg_objs PROPERTIES POSITION_INDEPENDENT_CODE TRUE)

if (CMAKE_MAJOR_VERSION EQUAL "3" AND (CMAKE_MINOR_VERSION EQUAL "10" OR CMAKE_MINOR_VERSION EQUAL "11"))
# Before CMake 3.12 we can't ise target_link_libraries on an object library to convey the need to use depencies' include directories
# Before CMake 3.12 we can't use target_link_libraries on an object library to convey the need to use depencies' include directories
get_target_property(sdsl_INCLUDE sdsl INTERFACE_INCLUDE_DIRECTORIES)
target_include_directories(bdsg_objs PUBLIC ${sdsl_INCLUDE})
get_target_property(hopscotch_map_INCLUDE tsl::hopscotch_map INTERFACE_INCLUDE_DIRECTORIES)
Expand Down
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ OBJS += $(OBJ_DIR)/path_subgraph_overlay.o
OBJS += $(OBJ_DIR)/subgraph_overlay.o
OBJS += $(OBJ_DIR)/vectorizable_overlays.o
OBJS += $(OBJ_DIR)/packed_subgraph_overlay.o
OBJS += $(OBJ_DIR)/ch.o
Comment thread
electricEpilith marked this conversation as resolved.
OBJS += $(OBJ_DIR)/snarl_distance_index.o
OBJS += $(OBJ_DIR)/strand_split_overlay.o
OBJS += $(OBJ_DIR)/utility.o
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ The documentation can then be found at `docs/_build/html/index.html`.
- [`DYNAMIC`](https://github.com/xxsds/DYNAMIC)
- [`BBHash/alltypes`](https://github.com/rizkg/BBHash/tree/alltypes)
- [`jansson`](https://github.com/akheron/jansson)
- [`Boost`](https://www.boost.org/).

The build process with `make` assumes that these libraries and their headers have been installed in a place on the system where the compiler can find them (e.g. in `CPLUS_INCLUDE_PATH`).

Expand Down
6 changes: 3 additions & 3 deletions bdsg/cmake_bindings/bdsg/internal/mapped_structs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@

void bind_bdsg_internal_mapped_structs(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
{ // bdsg::STLBackend file:bdsg/internal/mapped_structs.hpp line:44
{ // bdsg::STLBackend file:bdsg/internal/mapped_structs.hpp line:45
pybind11::class_<bdsg::STLBackend, std::shared_ptr<bdsg::STLBackend>> cl(M("bdsg"), "STLBackend", "Type enum value for selecting data structures that use the STL and SDSL.");
cl.def( pybind11::init( [](){ return new bdsg::STLBackend(); } ) );
}
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:66
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:67
pybind11::class_<bdsg::VectorFor<bdsg::STLBackend>, std::shared_ptr<bdsg::VectorFor<bdsg::STLBackend>>> cl(M("bdsg"), "VectorFor_bdsg_STLBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::VectorFor<bdsg::STLBackend>(); } ) );
}
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:72
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:73
pybind11::class_<bdsg::IntVectorFor<bdsg::STLBackend>, std::shared_ptr<bdsg::IntVectorFor<bdsg::STLBackend>>> cl(M("bdsg"), "IntVectorFor_bdsg_STLBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::IntVectorFor<bdsg::STLBackend>(); } ) );
}
Expand Down
17 changes: 9 additions & 8 deletions bdsg/cmake_bindings/bdsg/internal/mapped_structs_1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,37 +26,38 @@

void bind_bdsg_internal_mapped_structs_1(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
{ // bdsg::CompatBackend file:bdsg/internal/mapped_structs.hpp line:1144
{ // bdsg::CompatBackend file:bdsg/internal/mapped_structs.hpp line:1150
pybind11::class_<bdsg::CompatBackend, std::shared_ptr<bdsg::CompatBackend>> cl(M("bdsg"), "CompatBackend", "Type enum value for selecting data structures that use memory-mappable data\n structures but with the standard allocator.");
cl.def( pybind11::init( [](){ return new bdsg::CompatBackend(); } ) );
}
{ // bdsg::MappedBackend file:bdsg/internal/mapped_structs.hpp line:1155
{ // bdsg::MappedBackend file:bdsg/internal/mapped_structs.hpp line:1161
pybind11::class_<bdsg::MappedBackend, std::shared_ptr<bdsg::MappedBackend>> cl(M("bdsg"), "MappedBackend", "Type enum value for selecting data structures that use YOMO memory mapping\n and the YOMO allocator.\n\n They can safely exist outside of mapped memory, but are probably slower\n there since YOMO's internal tables still need to be consulted when following\n pointers.");
cl.def( pybind11::init( [](){ return new bdsg::MappedBackend(); } ) );
}
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:1161
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:1167
pybind11::class_<bdsg::VectorFor<bdsg::MappedBackend>, std::shared_ptr<bdsg::VectorFor<bdsg::MappedBackend>>> cl(M("bdsg"), "VectorFor_bdsg_MappedBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::VectorFor<bdsg::MappedBackend>(); } ) );
}
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:1167
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:1173
pybind11::class_<bdsg::IntVectorFor<bdsg::MappedBackend>, std::shared_ptr<bdsg::IntVectorFor<bdsg::MappedBackend>>> cl(M("bdsg"), "IntVectorFor_bdsg_MappedBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::IntVectorFor<bdsg::MappedBackend>(); } ) );
}
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:1177
{ // bdsg::VectorFor file:bdsg/internal/mapped_structs.hpp line:1183
pybind11::class_<bdsg::VectorFor<bdsg::CompatBackend>, std::shared_ptr<bdsg::VectorFor<bdsg::CompatBackend>>> cl(M("bdsg"), "VectorFor_bdsg_CompatBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::VectorFor<bdsg::CompatBackend>(); } ) );
}
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:1183
{ // bdsg::IntVectorFor file:bdsg/internal/mapped_structs.hpp line:1189
pybind11::class_<bdsg::IntVectorFor<bdsg::CompatBackend>, std::shared_ptr<bdsg::IntVectorFor<bdsg::CompatBackend>>> cl(M("bdsg"), "IntVectorFor_bdsg_CompatBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::IntVectorFor<bdsg::CompatBackend>(); } ) );
}
{ // bdsg::PackedDeque file:bdsg/internal/packed_structs.hpp line:491
{ // bdsg::PackedDeque file:bdsg/internal/packed_structs.hpp line:404
pybind11::class_<bdsg::PackedDeque<bdsg::STLBackend>, std::shared_ptr<bdsg::PackedDeque<bdsg::STLBackend>>> cl(M("bdsg"), "PackedDeque_bdsg_STLBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::PackedDeque<bdsg::STLBackend>(); } ) );
cl.def( pybind11::init( [](bdsg::PackedDeque<bdsg::STLBackend> const &o){ return new bdsg::PackedDeque<bdsg::STLBackend>(o); } ) );
cl.def("assign", (class bdsg::PackedDeque<> & (bdsg::PackedDeque<bdsg::STLBackend>::*)(const class bdsg::PackedDeque<> &)) &bdsg::PackedDeque<>::operator=, "C++: bdsg::PackedDeque<>::operator=(const class bdsg::PackedDeque<> &) --> class bdsg::PackedDeque<> &", pybind11::return_value_policy::automatic, pybind11::arg("other"));
cl.def("set", (void (bdsg::PackedDeque<bdsg::STLBackend>::*)(const unsigned long &, const unsigned long long &)) &bdsg::PackedDeque<>::set, "C++: bdsg::PackedDeque<>::set(const unsigned long &, const unsigned long long &) --> void", pybind11::arg("i"), pybind11::arg("value"));
cl.def("get", (unsigned long long (bdsg::PackedDeque<bdsg::STLBackend>::*)(const unsigned long &) const) &bdsg::PackedDeque<>::get, "C++: bdsg::PackedDeque<>::get(const unsigned long &) const --> unsigned long long", pybind11::arg("i"));
cl.def("__getitem__", (unsigned long long (bdsg::PackedDeque<bdsg::STLBackend>::*)(unsigned long) const) &bdsg::PackedDeque<>::operator[], "C++: bdsg::PackedDeque<>::operator[](unsigned long) const --> unsigned long long", pybind11::arg("i"));
cl.def("push_front", (void (bdsg::PackedDeque<bdsg::STLBackend>::*)(const unsigned long long &)) &bdsg::PackedDeque<>::push_front, "C++: bdsg::PackedDeque<>::push_front(const unsigned long long &) --> void", pybind11::arg("value"));
cl.def("append_front", (void (bdsg::PackedDeque<bdsg::STLBackend>::*)(const unsigned long long &)) &bdsg::PackedDeque<>::append_front, "C++: bdsg::PackedDeque<>::append_front(const unsigned long long &) --> void", pybind11::arg("value"));
cl.def("push_back", (void (bdsg::PackedDeque<bdsg::STLBackend>::*)(const unsigned long long &)) &bdsg::PackedDeque<>::push_back, "C++: bdsg::PackedDeque<>::push_back(const unsigned long long &) --> void", pybind11::arg("value"));
Expand All @@ -69,7 +70,7 @@ void bind_bdsg_internal_mapped_structs_1(std::function< pybind11::module &(std::
cl.def("clear", (void (bdsg::PackedDeque<bdsg::STLBackend>::*)()) &bdsg::PackedDeque<>::clear, "C++: bdsg::PackedDeque<>::clear() --> void");
cl.def("memory_usage", (unsigned long (bdsg::PackedDeque<bdsg::STLBackend>::*)() const) &bdsg::PackedDeque<>::memory_usage, "C++: bdsg::PackedDeque<>::memory_usage() const --> unsigned long");
}
{ // bdsg::PackedSet file:bdsg/internal/packed_structs.hpp line:597
{ // bdsg::PackedSet file:bdsg/internal/packed_structs.hpp line:513
pybind11::class_<bdsg::PackedSet<bdsg::STLBackend>, std::shared_ptr<bdsg::PackedSet<bdsg::STLBackend>>> cl(M("bdsg"), "PackedSet_bdsg_STLBackend_t", "");
cl.def( pybind11::init( [](){ return new bdsg::PackedSet<bdsg::STLBackend>(); } ) );
cl.def( pybind11::init( [](bdsg::PackedSet<bdsg::STLBackend> const &o){ return new bdsg::PackedSet<bdsg::STLBackend>(o); } ) );
Expand Down
8 changes: 4 additions & 4 deletions bdsg/cmake_bindings/bdsg/overlays/vectorizable_overlays.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

// bdsg::PathVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:197
// bdsg::PathVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:201
struct PyCallBack_bdsg_PathVectorizableOverlay : public bdsg::PathVectorizableOverlay {
using bdsg::PathVectorizableOverlay::PathVectorizableOverlay;

Expand Down Expand Up @@ -751,7 +751,7 @@ struct PyCallBack_bdsg_PathVectorizableOverlay : public bdsg::PathVectorizableOv
}
};

// bdsg::PathPositionVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:292
// bdsg::PathPositionVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:296
struct PyCallBack_bdsg_PathPositionVectorizableOverlay : public bdsg::PathPositionVectorizableOverlay {
using bdsg::PathPositionVectorizableOverlay::PathPositionVectorizableOverlay;

Expand Down Expand Up @@ -1527,7 +1527,7 @@ struct PyCallBack_bdsg_PathPositionVectorizableOverlay : public bdsg::PathPositi

void bind_bdsg_overlays_vectorizable_overlays(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
{ // bdsg::PathVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:197
{ // bdsg::PathVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:201
pybind11::class_<bdsg::PathVectorizableOverlay, std::shared_ptr<bdsg::PathVectorizableOverlay>, PyCallBack_bdsg_PathVectorizableOverlay, bdsg::VectorizableOverlay, handlegraph::PathHandleGraph> cl(M("bdsg"), "PathVectorizableOverlay", "");
cl.def( pybind11::init<const class handlegraph::PathHandleGraph *>(), pybind11::arg("path_graph") );

Expand All @@ -1549,7 +1549,7 @@ void bind_bdsg_overlays_vectorizable_overlays(std::function< pybind11::module &(
cl.def("get_next_step", (struct handlegraph::step_handle_t (bdsg::PathVectorizableOverlay::*)(const struct handlegraph::step_handle_t &) const) &bdsg::PathVectorizableOverlay::get_next_step, "Returns a handle to the next step on the path. If the given step is the final step\n of a non-circular path, this method has undefined behavior. In a circular path,\n the \"last\" step will loop around to the \"first\" step.\n\nC++: bdsg::PathVectorizableOverlay::get_next_step(const struct handlegraph::step_handle_t &) const --> struct handlegraph::step_handle_t", pybind11::arg("step_handle"));
cl.def("get_previous_step", (struct handlegraph::step_handle_t (bdsg::PathVectorizableOverlay::*)(const struct handlegraph::step_handle_t &) const) &bdsg::PathVectorizableOverlay::get_previous_step, "Returns a handle to the previous step on the path. If the given step is the first\n step of a non-circular path, this method has undefined behavior. In a circular path,\n it will loop around from the \"first\" step (i.e. the one returned by path_begin) to\n the \"last\" step.\n\nC++: bdsg::PathVectorizableOverlay::get_previous_step(const struct handlegraph::step_handle_t &) const --> struct handlegraph::step_handle_t", pybind11::arg("step_handle"));
}
{ // bdsg::PathPositionVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:292
{ // bdsg::PathPositionVectorizableOverlay file:bdsg/overlays/vectorizable_overlays.hpp line:296
pybind11::class_<bdsg::PathPositionVectorizableOverlay, std::shared_ptr<bdsg::PathPositionVectorizableOverlay>, PyCallBack_bdsg_PathPositionVectorizableOverlay, bdsg::PathVectorizableOverlay, handlegraph::PathPositionHandleGraph> cl(M("bdsg"), "PathPositionVectorizableOverlay", "");
cl.def( pybind11::init<const class handlegraph::PathPositionHandleGraph *>(), pybind11::arg("path_position_graph") );

Expand Down
Loading
Loading