mirror of
https://github.com/matrix-construct/construct
synced 2025-02-18 01:30:12 +01:00
ircd::json::tuple: Use structure bound range iteration rather than library.
This commit is contained in:
parent
9eed4dfa5f
commit
20d7a8ee62
1 changed files with 9 additions and 21 deletions
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue