diff --git a/Point_set_processing_3/examples/Point_set_processing_3/remove_outliers_example.cpp b/Point_set_processing_3/examples/Point_set_processing_3/remove_outliers_example.cpp index d12525dffea..4cb0357d65f 100644 --- a/Point_set_processing_3/examples/Point_set_processing_3/remove_outliers_example.cpp +++ b/Point_set_processing_3/examples/Point_set_processing_3/remove_outliers_example.cpp @@ -28,6 +28,9 @@ int main(void) nb_neighbors, removed_percentage), points.end()); + + // Optional: Scott Meyer's "swap trick" to trim excess capacity + std::vector(points).swap(points); return EXIT_SUCCESS; } diff --git a/Point_set_processing_3/test/Point_set_processing_3/remove_outliers_test.cpp b/Point_set_processing_3/test/Point_set_processing_3/remove_outliers_test.cpp index 705ef220f01..9db1056f5f9 100644 --- a/Point_set_processing_3/test/Point_set_processing_3/remove_outliers_test.cpp +++ b/Point_set_processing_3/test/Point_set_processing_3/remove_outliers_test.cpp @@ -61,7 +61,11 @@ void test_avg_knn_sq_distance(std::deque& points, // input point set points.erase(CGAL::remove_outliers(points.begin(), points.end(), nb_neighbors, removed_percentage), - points.end()); + points.end()); + + // Optional: Scott Meyer's "swap trick" to trim excess capacity + std::deque(points).swap(points); + long memory = CGAL::Memory_sizer().virtual_size(); std::cerr << "ok: " << task_timer.time() << " seconds, "