0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-30 04:38:52 +02:00

ircd::json::tuple: Use structure bound range iteration rather than library.

This commit is contained in:
Jason Volk 2020-08-04 15:09:58 -07:00
parent 9eed4dfa5f
commit 20d7a8ee62

View file

@ -194,12 +194,9 @@ tuple<T...>::tuple(const json::object &object,
object
}
{
std::for_each(std::begin(object), std::end(object), [this, &keys]
(const auto &member)
{
if(keys.has(member.first))
set(*this, member.first, member.second);
});
for(const auto &[key, val] : object)
if(keys.has(key))
set(*this, key, val);
}
template<class... T>
@ -209,31 +206,22 @@ tuple<T...>::tuple(const json::object &object)
object
}
{
std::for_each(std::begin(object), std::end(object), [this]
(const auto &member)
{
set(*this, member.first, member.second);
});
for(const auto &[key, val] : object)
set(*this, key, val);
}
template<class... T>
tuple<T...>::tuple(const json::iov &iov)
{
std::for_each(std::begin(iov), std::end(iov), [this]
(const auto &member)
{
set(*this, member.first, member.second);
});
for(const auto &[key, val] : iov)
set(*this, key, val);
}
template<class... T>
tuple<T...>::tuple(const json::members &members)
{
std::for_each(std::begin(members), std::end(members), [this]
(const auto &member)
{
set(*this, member.first, member.second);
});
for(const auto &[key, val] : members)
set(*this, key, val);
}
template<class... T>