0
0
Fork 0
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:
Jason Volk 2018-08-24 13:55:33 -07:00
parent 0b98144cfe
commit bf234c77a4
2 changed files with 24 additions and 24 deletions

View file

@ -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;

View file

@ -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))