@@ -67,38 +67,6 @@ Pairs toPairs(std::string_view buffer) {
6767 return result;
6868}
6969
70- } // namespace
71-
72- template <typename Pairs> size_t pairsSize (const Pairs &result) {
73- size_t size = 4 ; // number of headers
74- for (auto &p : result) {
75- size += 8 ; // size of key, size of value
76- size += p.first .size () + 1 ; // null terminated key
77- size += p.second .size () + 1 ; // null terminated value
78- }
79- return size;
80- }
81-
82- template <typename Pairs> void marshalPairs (const Pairs &result, char *buffer) {
83- char *b = buffer;
84- *reinterpret_cast <uint32_t *>(b) = result.size ();
85- b += sizeof (uint32_t );
86- for (auto &p : result) {
87- *reinterpret_cast <uint32_t *>(b) = p.first .size ();
88- b += sizeof (uint32_t );
89- *reinterpret_cast <uint32_t *>(b) = p.second .size ();
90- b += sizeof (uint32_t );
91- }
92- for (auto &p : result) {
93- memcpy (b, p.first .data (), p.first .size ());
94- b += p.first .size ();
95- *b++ = 0 ;
96- memcpy (b, p.second .data (), p.second .size ());
97- b += p.second .size ();
98- *b++ = 0 ;
99- }
100- }
101-
10270template <typename Pairs>
10371bool getPairs (ContextBase *context, const Pairs &result, uint64_t ptr_ptr, uint64_t size_ptr) {
10472 if (result.empty ()) {
@@ -117,6 +85,8 @@ bool getPairs(ContextBase *context, const Pairs &result, uint64_t ptr_ptr, uint6
11785 return true ;
11886}
11987
88+ } // namespace
89+
12090// General ABI.
12191
12292Word set_property (void *raw_context, Word key_ptr, Word key_size, Word value_ptr, Word value_size) {
0 commit comments