We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 201e743 commit 306e2ebCopy full SHA for 306e2eb
5 files changed
src/components.cpp
@@ -26,14 +26,14 @@ struct declare_component_types {
26
new (c) Component(size_hint);
27
}, "size_hint"_a = 0,
28
nb::call_guard<nb::gil_scoped_release>())
29
- .def(nb::init<Component>(),
+ .def(nb::init<const Component&>(),
30
"component"_a,
31
32
- .def(nb::init<std::vector<VertT>, std::size_t>(),
+ .def(nb::init<const std::vector<VertT>&, std::size_t>(),
33
"vertices"_a, "size_hint"_a = 0,
34
35
- .def(nb::init<std::unordered_set<
36
- VertT, reticula::hash<VertT>>, std::size_t>(),
+ .def(nb::init<const std::unordered_set<
+ VertT, reticula::hash<VertT>>&, std::size_t>(),
37
38
39
.def("insert",
src/implicit_event_graphs.cpp
@@ -23,16 +23,16 @@ struct declare_implicit_event_graph_class {
23
m, python_type_str<Net>().c_str())
24
.def(nb::init<const Net&>(),
25
- .def(nb::init<std::vector<EdgeT>, AdjT>(),
+ .def(nb::init<const std::vector<EdgeT>&, AdjT>(),
"events"_a, "temporal_adjacency"_a,
.def(nb::init<
- std::vector<EdgeT>,
- std::vector<typename EdgeT::VertexType>,
- AdjT>(),
+ const std::vector<EdgeT>&,
+ const std::vector<typename EdgeT::VertexType>&,
+ const AdjT&>(),
"events"_a, "verts"_a, "temporal_adjacency"_a,
- .def(nb::init<reticula::network<EdgeT>, AdjT>(),
+ .def(nb::init<const reticula::network<EdgeT>&, const AdjT&>(),
"temporal_network"_a, "temporal_adjacency"_a,
.def("events_cause",
src/networks.cpp
@@ -24,12 +24,12 @@ struct declare_network_class {
"network"_a,
- .def(nb::init<std::vector<EdgeT>>(),
+ .def(nb::init<const std::vector<EdgeT>&>(),
"edges"_a,
- std::vector<typename EdgeT::VertexType>>(),
+ const std::vector<typename EdgeT::VertexType>&>(),
"edges"_a, "verts"_a,
.def("vertices",
src/static_hyperedges.cpp
@@ -18,20 +18,20 @@ template <typename VertT>
18
struct declare_static_hyperedges {
19
void operator()(nb::module_ &m) {
20
define_basic_edge_concept<reticula::undirected_hyperedge<VertT>>(m)
21
- .def(nb::init<std::vector<VertT>>(),
+ .def(nb::init<const std::vector<VertT>&>(),
22
"verts"_a, nb::call_guard<nb::gil_scoped_release>());
nb::implicitly_convertible<
std::vector<VertT>,
reticula::undirected_hyperedge<VertT>>();
define_basic_edge_concept<reticula::directed_hyperedge<VertT>>(m)
- .def(nb::init<std::vector<VertT>, std::vector<VertT>>(),
+ .def(nb::init<const std::vector<VertT>&, const std::vector<VertT>&>(),
"tails"_a, "heads"_a,
.def("__init__", [](
reticula::directed_hyperedge<VertT>* edge,
- std::tuple<std::vector<VertT>, std::vector<VertT>> t) {
+ const std::tuple<std::vector<VertT>, std::vector<VertT>>& t) {
new (edge) reticula::directed_hyperedge<VertT>{
std::get<0>(t), std::get<1>(t)};
}, "tuple"_a, nb::call_guard<nb::gil_scoped_release>())
src/temporal_clusters.cpp
@@ -20,13 +20,13 @@ struct declare_temporal_cluster_types {
using Cluster = reticula::temporal_cluster<EdgeT, AdjT>;
nb::class_<Cluster>(
m, python_type_str<Cluster>().c_str())
- .def(nb::init<AdjT, std::size_t>(),
+ .def(nb::init<const AdjT&, std::size_t>(),
"temporal_adjacency"_a, "size_hint"_a = 0,
.def(nb::init<const Cluster&>(),
"temporal_cluester"_a,
- .def(nb::init<std::vector<EdgeT>, AdjT, std::size_t>(),
+ .def(nb::init<const std::vector<EdgeT>&, const AdjT&, std::size_t>(),
"events"_a,
"temporal_adjacency"_a,
"size_hint"_a = 0,
0 commit comments