xrpld
Loading...
Searching...
No Matches
aged_container_utility.h
1#pragma once
2
3#include <xrpl/beast/container/aged_container.h>
4
5#include <chrono>
6#include <cstddef>
7
8namespace beast {
9
13template <class AgedContainer, class Rep, class Period>
14std::size_t
15expire(AgedContainer& c, std::chrono::duration<Rep, Period> const& age)
17{
18 std::size_t n(0);
19 auto const expired(c.clock().now() - age);
20 for (auto iter(c.chronological.cbegin());
21 iter != c.chronological.cend() && iter.when() <= expired;)
22 {
23 iter = c.erase(iter);
24 ++n;
25 }
26 return n;
27}
28
29} // namespace beast
std::size_t expire(AgedContainer &c, std::chrono::duration< Rep, Period > const &age)
Expire aged container items past the specified age.