mirror of
https://github.com/matrix-construct/construct
synced 2024-06-28 14:58:20 +02:00
ircd::json: Fix member constructor template.
This commit is contained in:
parent
4c84df62e7
commit
04595054d8
|
@ -44,20 +44,31 @@ namespace ircd::json
|
|||
struct ircd::json::member
|
||||
:std::pair<value, value>
|
||||
{
|
||||
member(const string_view &key, value &&);
|
||||
template<class V> member(const string_view &key, V&&);
|
||||
explicit member(const string_view &k);
|
||||
explicit member(const object::member &m);
|
||||
template<class K, class V> member(K&&, V&&);
|
||||
template<class K> member(K&&, value);
|
||||
member() = default;
|
||||
};
|
||||
|
||||
template<class V>
|
||||
template<class K,
|
||||
class V>
|
||||
inline __attribute__((always_inline))
|
||||
ircd::json::member::member(const string_view &key,
|
||||
ircd::json::member::member(K&& k,
|
||||
V&& v)
|
||||
:member
|
||||
:std::pair<value, value>
|
||||
{
|
||||
key, value { std::forward<V>(v) }
|
||||
value { std::forward<K>(k), json::STRING }, value { std::forward<V>(v) }
|
||||
}
|
||||
{}
|
||||
|
||||
template<class K>
|
||||
inline __attribute__((always_inline))
|
||||
ircd::json::member::member(K&& k,
|
||||
value v)
|
||||
:std::pair<value, value>
|
||||
{
|
||||
value { std::forward<K>(k), json::STRING }, std::move(v)
|
||||
}
|
||||
{}
|
||||
|
||||
|
|
|
@ -3136,15 +3136,6 @@ ircd::json::operator>(const array::const_iterator &a, const array::const_iterato
|
|||
// json/member.h
|
||||
//
|
||||
|
||||
ircd::json::member::member(const string_view &key,
|
||||
value &&v)
|
||||
:std::pair<value, value>
|
||||
{
|
||||
{ key, json::STRING }, std::move(v)
|
||||
}
|
||||
{
|
||||
}
|
||||
|
||||
ircd::string_view
|
||||
ircd::json::stringify(mutable_buffer &buf,
|
||||
const members &list)
|
||||
|
|
Loading…
Reference in a new issue