diff --git a/src/lib/dbus/ReadIter.hxx b/src/lib/dbus/ReadIter.hxx index 305f2de03..d51dd371c 100644 --- a/src/lib/dbus/ReadIter.hxx +++ b/src/lib/dbus/ReadIter.hxx @@ -74,10 +74,18 @@ public: return value; } + /** + * Create a new iterator which recurses into a container + * value. + */ ReadMessageIter Recurse() noexcept { return {RecurseTag(), *this}; } + /** + * Invoke a function for each element (including the current + * one), as long as the argument type is the specified one. + */ template void ForEach(int arg_type, F &&f) { for (; GetArgType() == arg_type; Next())