0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-25 05:18:23 +02:00

ircd::json: Fix member constructor template.

This commit is contained in:
Jason Volk 2020-02-07 13:55:19 -08:00
parent 4c84df62e7
commit 04595054d8
2 changed files with 17 additions and 15 deletions

View file

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

View file

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