Closed
Description
I imagine something like this:
/// This method deletes a set of array elements given a predicate. For
/// example:
///
/// ```cpp
/// #include <sourcemeta/core/json.h>
/// #include <cassert>
/// #include <iterator>
///
/// sourcemeta::core::JSON array =
/// sourcemeta::core::parse_json("[ 1, 2, 3 ]");
/// array.erase_if(array,
/// [](const auto &item) { return item.to_integer() % 2 == 0; });
/// assert(array.size(), 2);
/// assert(array.at(0), 1);
/// assert(array.at(1), 3);
/// ```
auto erase_if(const std::function<bool(const JSON &)> &predicate) -> void;
It could internally just use std::erase_if
as arrays are std::vector
s
Metadata
Metadata
Assignees
Labels
No labels