diff --git a/include/ircd/m/room.h b/include/ircd/m/room.h index 2f65b3d51..0c7748876 100644 --- a/include/ircd/m/room.h +++ b/include/ircd/m/room.h @@ -253,6 +253,7 @@ struct ircd::m::room::origins bool test(const closure_bool &view) const; void for_each(const closure &view) const; + size_t count() const; origins(const m::room &room) :room{room} diff --git a/ircd/m/room.cc b/ircd/m/room.cc index 80754c907..1230d33b6 100644 --- a/ircd/m/room.cc +++ b/ircd/m/room.cc @@ -643,6 +643,19 @@ const // room::origins // +size_t +ircd::m::room::origins::count() +const +{ + size_t ret{0}; + for_each([&ret](const string_view &) + { + ++ret; + }); + + return ret; +} + void ircd::m::room::origins::for_each(const closure &view) const