mirror of
https://github.com/matrix-construct/construct
synced 2024-12-26 15:33:54 +01:00
ircd::json: Cleanup members typedefs / construction stack.
This commit is contained in:
parent
94503e6d5f
commit
653c0bc3cc
3 changed files with 10 additions and 10 deletions
|
@ -14,7 +14,7 @@
|
|||
namespace ircd::json
|
||||
{
|
||||
struct member;
|
||||
using members = std::initializer_list<member>;
|
||||
using members = std::initializer_list<const member>;
|
||||
|
||||
bool operator==(const member &a, const member &b);
|
||||
bool operator==(const member &a, const string_view &b);
|
||||
|
@ -63,24 +63,24 @@ ircd::json::member::member(const string_view &key,
|
|||
template<class V>
|
||||
ircd::json::member::member(const string_view &key,
|
||||
V&& v)
|
||||
:std::pair<value, value>
|
||||
:member
|
||||
{
|
||||
{ key, json::STRING }, std::forward<V>(v)
|
||||
key, value { std::forward<V>(v) }
|
||||
}
|
||||
{}
|
||||
|
||||
inline
|
||||
ircd::json::member::member(const object::member &m)
|
||||
:std::pair<value, value>
|
||||
:member
|
||||
{
|
||||
{ m.first, json::STRING }, value { m.second, type(m.second) }
|
||||
m.first, value { m.second, type(m.second) }
|
||||
}
|
||||
{}
|
||||
|
||||
inline
|
||||
ircd::json::member::member(const string_view &k)
|
||||
:std::pair<value, value>
|
||||
:member
|
||||
{
|
||||
{ k, json::STRING }, string_view{}
|
||||
k, value{}
|
||||
}
|
||||
{}
|
||||
|
|
|
@ -67,7 +67,7 @@ struct tuple
|
|||
template<class U> explicit tuple(const tuple &, const json::keys<U> &);
|
||||
tuple(const json::object &);
|
||||
tuple(const json::iov &);
|
||||
tuple(const std::initializer_list<member> &);
|
||||
tuple(const json::members &);
|
||||
tuple() = default;
|
||||
};
|
||||
|
||||
|
@ -200,7 +200,7 @@ tuple<T...>::tuple(const json::iov &iov)
|
|||
}
|
||||
|
||||
template<class... T>
|
||||
tuple<T...>::tuple(const std::initializer_list<member> &members)
|
||||
tuple<T...>::tuple(const json::members &members)
|
||||
{
|
||||
std::for_each(std::begin(members), std::end(members), [this]
|
||||
(const auto &member)
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace ircd::json
|
|||
struct array;
|
||||
struct vector;
|
||||
struct iov;
|
||||
using members = std::initializer_list<member>;
|
||||
using members = std::initializer_list<const member>;
|
||||
|
||||
enum type type(const string_view &);
|
||||
enum type type(const string_view &, std::nothrow_t);
|
||||
|
|
Loading…
Reference in a new issue