mirror of
https://github.com/matrix-construct/construct
synced 2024-09-27 11:18:51 +02:00
ircd:Ⓜ️:user: Ensure bools are returned from iteration closures here.
This commit is contained in:
parent
0b98144cfe
commit
bf234c77a4
2 changed files with 24 additions and 24 deletions
|
@ -111,11 +111,11 @@ struct ircd::m::user::rooms
|
|||
|
||||
public:
|
||||
// All rooms with specific membership
|
||||
void for_each(const string_view &membership, const closure_bool &) const;
|
||||
bool for_each(const string_view &membership, const closure_bool &) const;
|
||||
void for_each(const string_view &membership, const closure &) const;
|
||||
|
||||
// All rooms with any membership
|
||||
void for_each(const closure_bool &) const;
|
||||
bool for_each(const closure_bool &) const;
|
||||
void for_each(const closure &) const;
|
||||
|
||||
size_t count(const string_view &membership) const;
|
||||
|
@ -133,9 +133,9 @@ struct ircd::m::user::rooms::origins
|
|||
m::user user;
|
||||
|
||||
public:
|
||||
void for_each(const string_view &membership, const closure_bool &) const;
|
||||
bool for_each(const string_view &membership, const closure_bool &) const;
|
||||
void for_each(const string_view &membership, const closure &) const;
|
||||
void for_each(const closure_bool &) const;
|
||||
bool for_each(const closure_bool &) const;
|
||||
void for_each(const closure &) const;
|
||||
|
||||
origins(const m::user &user);
|
||||
|
@ -148,15 +148,15 @@ struct ircd::m::user::mitsein
|
|||
|
||||
public:
|
||||
// All common rooms with user
|
||||
void for_each(const m::user &, const string_view &membership, const rooms::closure_bool &) const;
|
||||
bool for_each(const m::user &, const string_view &membership, const rooms::closure_bool &) const;
|
||||
void for_each(const m::user &, const string_view &membership, const rooms::closure &) const;
|
||||
void for_each(const m::user &, const rooms::closure_bool &) const;
|
||||
bool for_each(const m::user &, const rooms::closure_bool &) const;
|
||||
void for_each(const m::user &, const rooms::closure &) const;
|
||||
|
||||
// All common users in all rooms
|
||||
void for_each(const string_view &membership, const closure_bool &) const;
|
||||
bool for_each(const string_view &membership, const closure_bool &) const;
|
||||
void for_each(const string_view &membership, const closure &) const;
|
||||
void for_each(const closure_bool &) const;
|
||||
bool for_each(const closure_bool &) const;
|
||||
void for_each(const closure &) const;
|
||||
|
||||
size_t count(const m::user &, const string_view &membership = {}) const;
|
||||
|
|
32
ircd/m/m.cc
32
ircd/m/m.cc
|
@ -1936,11 +1936,11 @@ const
|
|||
}});
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::rooms::for_each(const closure_bool &closure)
|
||||
const
|
||||
{
|
||||
for_each(string_view{}, closure);
|
||||
return for_each(string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1956,7 +1956,7 @@ const
|
|||
}});
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::rooms::for_each(const string_view &membership,
|
||||
const closure_bool &closure)
|
||||
const
|
||||
|
@ -1981,7 +1981,7 @@ const
|
|||
user_room, &fopts
|
||||
};
|
||||
|
||||
state.test("ircd.member", [&membership, &closure]
|
||||
return !state.test("ircd.member", [&membership, &closure]
|
||||
(const m::event &event)
|
||||
{
|
||||
const string_view &membership_
|
||||
|
@ -2017,11 +2017,11 @@ const
|
|||
for_each(string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::rooms::origins::for_each(const closure_bool &closure)
|
||||
const
|
||||
{
|
||||
for_each(string_view{}, closure);
|
||||
return for_each(string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2037,7 +2037,7 @@ const
|
|||
}});
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::rooms::origins::for_each(const string_view &membership,
|
||||
const closure_bool &closure)
|
||||
const
|
||||
|
@ -2048,7 +2048,7 @@ const
|
|||
};
|
||||
|
||||
std::set<std::string, std::less<>> seen;
|
||||
rooms.for_each(membership, rooms::closure_bool{[&closure, &seen]
|
||||
return rooms.for_each(membership, rooms::closure_bool{[&closure, &seen]
|
||||
(const m::room &room, const string_view &membership)
|
||||
{
|
||||
const m::room::origins origins{room};
|
||||
|
@ -2112,11 +2112,11 @@ const
|
|||
for_each(string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::mitsein::for_each(const closure_bool &closure)
|
||||
const
|
||||
{
|
||||
for_each(string_view{}, closure);
|
||||
return for_each(string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2132,7 +2132,7 @@ const
|
|||
}});
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::mitsein::for_each(const string_view &membership,
|
||||
const closure_bool &closure)
|
||||
const
|
||||
|
@ -2146,7 +2146,7 @@ const
|
|||
///TODO: ideal: db schema
|
||||
///TODO: minimally: custom alloc?
|
||||
std::set<std::string, std::less<>> seen;
|
||||
rooms.for_each(membership, rooms::closure_bool{[&membership, &closure, &seen]
|
||||
return rooms.for_each(membership, rooms::closure_bool{[&membership, &closure, &seen]
|
||||
(const m::room &room, const string_view &)
|
||||
{
|
||||
const m::room::members members{room};
|
||||
|
@ -2180,12 +2180,12 @@ const
|
|||
for_each(user, string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::mitsein::for_each(const m::user &user,
|
||||
const rooms::closure_bool &closure)
|
||||
const
|
||||
{
|
||||
for_each(user, string_view{}, closure);
|
||||
return for_each(user, string_view{}, closure);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -2202,7 +2202,7 @@ const
|
|||
}});
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
ircd::m::user::mitsein::for_each(const m::user &user,
|
||||
const string_view &membership,
|
||||
const rooms::closure_bool &closure)
|
||||
|
@ -2225,7 +2225,7 @@ const
|
|||
use_our? user.user_id : this->user.user_id
|
||||
};
|
||||
|
||||
rooms.for_each(membership, rooms::closure_bool{[&membership, &closure, &test_key]
|
||||
return rooms.for_each(membership, rooms::closure_bool{[&membership, &closure, &test_key]
|
||||
(const m::room &room, const string_view &)
|
||||
{
|
||||
if(!room.has("m.room.member", test_key))
|
||||
|
|
Loading…
Reference in a new issue