diff --git a/ortools/constraint_solver/csharp/routing_index_manager.i b/ortools/constraint_solver/csharp/routing_index_manager.i index 9ee44ce07a..0b36f4f0d4 100644 --- a/ortools/constraint_solver/csharp/routing_index_manager.i +++ b/ortools/constraint_solver/csharp/routing_index_manager.i @@ -30,17 +30,22 @@ DEFINE_INDEX_TYPE_TYPEDEF(operations_research::RoutingNodeIndex, namespace operations_research { %unignore RoutingIndexManager; -%unignore RoutingIndexManager::RoutingIndexManager(int, int, NodeIndex); -%unignore RoutingIndexManager::RoutingIndexManager(int, int, const std::vector&, const std::vector&); -%unignore RoutingIndexManager::~RoutingIndexManager; %unignore RoutingIndexManager::GetStartIndex; %unignore RoutingIndexManager::GetEndIndex; -%rename (GetNumberOfNodes) RoutingIndexManager::num_nodes; -%rename (GetNumberOfVehicles) RoutingIndexManager::num_vehicles; -%rename (GetNumberOfIndices) RoutingIndexManager::num_indices; %unignore RoutingIndexManager::IndexToNode; %unignore RoutingIndexManager::NodeToIndex; %unignore RoutingIndexManager::NodesToIndices; +%unignore RoutingIndexManager::RoutingIndexManager( + int, int, + NodeIndex); +%unignore RoutingIndexManager::RoutingIndexManager( + int, int, + const std::vector&, + const std::vector&); +%rename (GetNumberOfNodes) RoutingIndexManager::num_nodes; +%rename (GetNumberOfVehicles) RoutingIndexManager::num_vehicles; +%rename (GetNumberOfIndices) RoutingIndexManager::num_indices; +%unignore RoutingIndexManager::~RoutingIndexManager; } // namespace operations_research diff --git a/ortools/constraint_solver/java/routing_index_manager.i b/ortools/constraint_solver/java/routing_index_manager.i index 40fe362b5a..d206550f0f 100644 --- a/ortools/constraint_solver/java/routing_index_manager.i +++ b/ortools/constraint_solver/java/routing_index_manager.i @@ -30,9 +30,14 @@ DEFINE_INDEX_TYPE_TYPEDEF(operations_research::RoutingNodeIndex, namespace operations_research { %unignore RoutingIndexManager; -%unignore RoutingIndexManager::RoutingIndexManager(int, int, NodeIndex); -%unignore RoutingIndexManager::RoutingIndexManager(int, int, const std::vector&, const std::vector&); %unignore RoutingIndexManager::~RoutingIndexManager; +%unignore RoutingIndexManager::RoutingIndexManager( + int, int, + NodeIndex); +%unignore RoutingIndexManager::RoutingIndexManager( + int, int, + const std::vector&, + const std::vector&); %rename (getStartIndex) RoutingIndexManager::GetStartIndex; %rename (getEndIndex) RoutingIndexManager::GetEndIndex; %rename (getNumberOfNodes) RoutingIndexManager::num_nodes; diff --git a/ortools/constraint_solver/python/routing_index_manager.i b/ortools/constraint_solver/python/routing_index_manager.i index 0809d6e0ad..4f73fd6347 100644 --- a/ortools/constraint_solver/python/routing_index_manager.i +++ b/ortools/constraint_solver/python/routing_index_manager.i @@ -36,9 +36,11 @@ namespace operations_research { %unignore RoutingIndexManager::IndexToNode; %unignore RoutingIndexManager::NodeToIndex; %unignore RoutingIndexManager::RoutingIndexManager( - int, int, NodeIndex); + int, int, + NodeIndex); %unignore RoutingIndexManager::RoutingIndexManager( - int, int, const std::vector&, + int, int, + const std::vector&, const std::vector&); %rename (GetNumberOfNodes) RoutingIndexManager::num_nodes; %rename (GetNumberOfVehicles) RoutingIndexManager::num_vehicles; diff --git a/ortools/constraint_solver/routing.cc b/ortools/constraint_solver/routing.cc index 05e506167a..fe3372ca08 100644 --- a/ortools/constraint_solver/routing.cc +++ b/ortools/constraint_solver/routing.cc @@ -771,7 +771,7 @@ int RegisterUnaryCallback(RoutingTransitCallback1 callback, bool is_positive, int RoutingModel::RegisterUnaryTransitVector(std::vector values) { return RegisterUnaryCallback( - [this, values](int64 i) { + [this, values = std::move(values)](int64 i) { return values[manager_.IndexToNode(i).value()]; }, /*is_positive=*/ @@ -800,7 +800,7 @@ int RoutingModel::RegisterTransitMatrix( } } return RegisterCallback( - [this, values](int64 i, int64 j) { + [this, values = std::move(values)](int64 i, int64 j) { return values[manager_.IndexToNode(i).value()] [manager_.IndexToNode(j).value()]; },