mirror of
https://github.com/matrix-construct/construct
synced 2024-09-30 04:38:52 +02:00
ircd::json: Add a buffer.
This commit is contained in:
parent
5c69d3df5a
commit
15b67799b3
1 changed files with 13 additions and 0 deletions
|
@ -94,6 +94,7 @@ namespace ircd::json
|
|||
template<class... T> size_t print(char *const &buf, const size_t &max, T&&... t);
|
||||
template<class... T> size_t print(const mutable_buffer &buf, T&&... t);
|
||||
template<class... T> std::string string(T&&... t);
|
||||
template<size_t SIZE> struct buffer;
|
||||
|
||||
size_t serialized(const string_view &);
|
||||
|
||||
|
@ -113,6 +114,18 @@ namespace ircd
|
|||
using json::operator<<;
|
||||
}
|
||||
|
||||
template<size_t SIZE>
|
||||
struct ircd::json::buffer
|
||||
:string_view
|
||||
{
|
||||
std::array<char, SIZE> b;
|
||||
|
||||
template<class... T>
|
||||
buffer(T&&... t)
|
||||
:string_view{stringify(b, std::forward<T>(t)...)}
|
||||
{}
|
||||
};
|
||||
|
||||
///
|
||||
/// Convenience template for const rvalue mutable_buffers or basically
|
||||
/// allowing a bracket initialization of a mutable_buffer in the argument
|
||||
|
|
Loading…
Reference in a new issue