Merge branch 'alignment' of https://github.com/chshaob1/msgpack-c into chshaob1-alignment

This commit is contained in:
Takatoshi Kondo
2017-07-22 15:18:36 +09:00
39 changed files with 164 additions and 152 deletions

View File

@@ -75,7 +75,7 @@ struct define_array<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*<%=i+1%>)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*<%=i+1%>, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = <%=i+1%>; o->via.array.size = <%=i+1%>;
<%0.upto(i) {|j|%> <%0.upto(i) {|j|%>
o->via.array.ptr[<%=j%>] = msgpack::object(a<%=j%>, z);<%}%> o->via.array.ptr[<%=j%>] = msgpack::object(a<%=j%>, z);<%}%>

View File

@@ -82,7 +82,7 @@ struct define_map<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*<%=(i+1)/2%>)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*<%=(i+1)/2%>, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = <%=(i+1)/2%>; o->via.map.size = <%=(i+1)/2%>;
<%0.step(i,2) {|j|%> <%0.step(i,2) {|j|%>
o->via.map.ptr[<%=j/2%>].key = msgpack::object(a<%=j%>, z); o->via.map.ptr[<%=j/2%>].key = msgpack::object(a<%=j%>, z);

View File

@@ -207,7 +207,7 @@ struct object_with_zone<type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>>& v) const { const type::tuple<A0<%1.upto(i) {|j|%>, A<%=j%><%}%>>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*<%=i+1%>)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*<%=i+1%>, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = <%=i+1%>; o.via.array.size = <%=i+1%>;
<%0.upto(i) {|j|%> <%0.upto(i) {|j|%>
o.via.array.ptr[<%=j%>] = msgpack::object(v.template get<<%=j%>>(), o.zone);<%}%> o.via.array.ptr[<%=j%>] = msgpack::object(v.template get<<%=j%>>(), o.zone);<%}%>

View File

@@ -300,7 +300,7 @@ inline std::size_t aligned_size(
template <typename T<%1.upto(i) {|j|%>, typename A<%=j%><%}%>> template <typename T<%1.upto(i) {|j|%>, typename A<%=j%><%}%>>
T* zone::allocate(<%=(1..i).map{|j|"A#{j} a#{j}"}.join(', ')%>) T* zone::allocate(<%=(1..i).map{|j|"A#{j} a#{j}"}.join(', ')%>)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {

View File

@@ -69,7 +69,7 @@ struct object_with_zone<my_class> {
o.type = type::ARRAY; o.type = type::ARRAY;
o.via.array.size = 2; o.via.array.size = 2;
o.via.array.ptr = static_cast<msgpack::object*>( o.via.array.ptr = static_cast<msgpack::object*>(
o.zone.allocate_align(sizeof(msgpack::object) * o.via.array.size)); o.zone.allocate_align(sizeof(msgpack::object) * o.via.array.size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.ptr[0] = msgpack::object(v.get_name(), o.zone); o.via.array.ptr[0] = msgpack::object(v.get_name(), o.zone);
o.via.array.ptr[1] = msgpack::object(v.get_age(), o.zone); o.via.array.ptr[1] = msgpack::object(v.get_age(), o.zone);
} }

View File

@@ -84,7 +84,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;
@@ -141,7 +141,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Al
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;

View File

@@ -82,7 +82,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;
@@ -136,7 +136,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Al
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -253,7 +253,7 @@ struct object_with_zone<msgpack::type::array_ref<T> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;
@@ -280,7 +280,7 @@ struct object_with_zone<msgpack::type::array_ref<T[N]> > {
if (!v.data) { throw msgpack::type_error(); } if (!v.data) { throw msgpack::type_error(); }
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -132,7 +132,7 @@ struct object_with_zone<T, typename msgpack::enable_if<boost::fusion::traits::is
void operator()(msgpack::object::with_zone& o, const T& v) const { void operator()(msgpack::object::with_zone& o, const T& v) const {
uint32_t size = checked_get_container_size(boost::fusion::size(v)); uint32_t size = checked_get_container_size(boost::fusion::size(v));
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = size; o.via.array.size = size;
uint32_t count = 0; uint32_t count = 0;
boost::fusion::for_each(v, with_zone_imp(o, count)); boost::fusion::for_each(v, with_zone_imp(o, count));

View File

@@ -151,7 +151,7 @@ struct object_with_zone<T[N]> {
void operator()(msgpack::object::with_zone& o, const T(&v)[N]) const { void operator()(msgpack::object::with_zone& o, const T(&v)[N]) const {
uint32_t size = checked_get_container_size(N); uint32_t size = checked_get_container_size(N);
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
msgpack::object* ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object) * size)); msgpack::object* ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object) * size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.ptr = ptr; o.via.array.ptr = ptr;
o.via.array.size = size; o.via.array.size = size;
const T* pv = v; const T* pv = v;

View File

@@ -119,7 +119,7 @@ struct object_with_zone<std::array<T, N>> {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = size; o.via.array.size = size;
o.via.array.ptr = p; o.via.array.ptr = p;
for (auto const& e : v) *p++ = msgpack::object(e, o.zone); for (auto const& e : v) *p++ = msgpack::object(e, o.zone);

View File

@@ -76,7 +76,7 @@ struct object_with_zone<std::forward_list<T, Alloc>> {
uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end())); uint32_t size = checked_get_container_size(std::distance(v.begin(), v.end()));
o.via.array.size = size; o.via.array.size = size;
msgpack::object* p = static_cast<msgpack::object*>( msgpack::object* p = static_cast<msgpack::object*>(
o.zone.allocate_align(sizeof(msgpack::object)*size)); o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.ptr = p; o.via.array.ptr = p;
for(auto const& e : v) *p++ = msgpack::object(e, o.zone); for(auto const& e : v) *p++ = msgpack::object(e, o.zone);
} }

View File

@@ -158,7 +158,7 @@ struct object_with_zone<std::tuple<Args...>> {
std::tuple<Args...> const& v) const { std::tuple<Args...> const& v) const {
uint32_t size = checked_get_container_size(sizeof...(Args)); uint32_t size = checked_get_container_size(sizeof...(Args));
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = size; o.via.array.size = size;
StdTupleToObjectWithZone<decltype(v), sizeof...(Args)>::convert(o, v); StdTupleToObjectWithZone<decltype(v), sizeof...(Args)>::convert(o, v);
} }

View File

@@ -81,7 +81,7 @@ struct object_with_zone<std::unordered_map<K, V, Hash, Compare, Alloc>> {
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;
@@ -155,7 +155,7 @@ struct object_with_zone<std::unordered_multimap<K, V, Hash, Compare, Alloc>> {
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;

View File

@@ -78,7 +78,7 @@ struct object_with_zone<std::unordered_set<Key, Hash, Compare, Alloc>> {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;
@@ -147,7 +147,7 @@ struct object_with_zone<std::unordered_multiset<Key, Hash, Compare, Alloc>> {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -83,7 +83,7 @@ struct object_with_zone<std::deque<T, Alloc> > {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -75,7 +75,7 @@ struct define_array<A0> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*1)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 1; o->via.array.size = 1;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -118,7 +118,7 @@ struct define_array<A0, A1> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*2)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 2; o->via.array.size = 2;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -167,7 +167,7 @@ struct define_array<A0, A1, A2> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*3)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 3; o->via.array.size = 3;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -222,7 +222,7 @@ struct define_array<A0, A1, A2, A3> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*4)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 4; o->via.array.size = 4;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -283,7 +283,7 @@ struct define_array<A0, A1, A2, A3, A4> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*5)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 5; o->via.array.size = 5;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -350,7 +350,7 @@ struct define_array<A0, A1, A2, A3, A4, A5> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*6)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 6; o->via.array.size = 6;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -423,7 +423,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*7)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 7; o->via.array.size = 7;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -502,7 +502,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*8)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 8; o->via.array.size = 8;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -587,7 +587,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*9)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 9; o->via.array.size = 9;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -678,7 +678,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*10)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 10; o->via.array.size = 10;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -775,7 +775,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*11)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 11; o->via.array.size = 11;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -878,7 +878,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*12)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 12; o->via.array.size = 12;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -987,7 +987,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*13)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 13; o->via.array.size = 13;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1102,7 +1102,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*14)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 14; o->via.array.size = 14;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1223,7 +1223,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*15)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 15; o->via.array.size = 15;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1350,7 +1350,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*16)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 16; o->via.array.size = 16;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1483,7 +1483,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*17)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*17, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 17; o->via.array.size = 17;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1622,7 +1622,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*18)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*18, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 18; o->via.array.size = 18;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1767,7 +1767,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*19)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*19, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 19; o->via.array.size = 19;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -1918,7 +1918,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*20)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*20, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 20; o->via.array.size = 20;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2075,7 +2075,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*21)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*21, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 21; o->via.array.size = 21;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2238,7 +2238,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*22)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*22, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 22; o->via.array.size = 22;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2407,7 +2407,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*23)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*23, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 23; o->via.array.size = 23;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2582,7 +2582,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*24)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*24, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 24; o->via.array.size = 24;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2763,7 +2763,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*25)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*25, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 25; o->via.array.size = 25;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -2950,7 +2950,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*26)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*26, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 26; o->via.array.size = 26;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -3143,7 +3143,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*27)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*27, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 27; o->via.array.size = 27;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -3342,7 +3342,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*28)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*28, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 28; o->via.array.size = 28;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -3547,7 +3547,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*29)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*29, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 29; o->via.array.size = 29;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -3758,7 +3758,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*30)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*30, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 30; o->via.array.size = 30;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -3975,7 +3975,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*31)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*31, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 31; o->via.array.size = 31;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);
@@ -4198,7 +4198,7 @@ struct define_array<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13,
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*32)); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*32, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = 32; o->via.array.size = 32;
o->via.array.ptr[0] = msgpack::object(a0, z); o->via.array.ptr[0] = msgpack::object(a0, z);

View File

@@ -83,7 +83,7 @@ struct define_map<A0, A1> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*1)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 1; o->via.map.size = 1;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -142,7 +142,7 @@ struct define_map<A0, A1, A2, A3> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*2)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 2; o->via.map.size = 2;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -215,7 +215,7 @@ struct define_map<A0, A1, A2, A3, A4, A5> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*3)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 3; o->via.map.size = 3;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -302,7 +302,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*4)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 4; o->via.map.size = 4;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -403,7 +403,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*5)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 5; o->via.map.size = 5;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -518,7 +518,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*6)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 6; o->via.map.size = 6;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -647,7 +647,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*7)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 7; o->via.map.size = 7;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -790,7 +790,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*8)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 8; o->via.map.size = 8;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -947,7 +947,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*9)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 9; o->via.map.size = 9;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -1118,7 +1118,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*10)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 10; o->via.map.size = 10;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -1303,7 +1303,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*11)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 11; o->via.map.size = 11;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -1502,7 +1502,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*12)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 12; o->via.map.size = 12;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -1715,7 +1715,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*13)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 13; o->via.map.size = 13;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -1942,7 +1942,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*14)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 14; o->via.map.size = 14;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -2183,7 +2183,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*15)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 15; o->via.map.size = 15;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);
@@ -2438,7 +2438,7 @@ struct define_map<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A1
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*16)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = 16; o->via.map.size = 16;
o->via.map.ptr[0].key = msgpack::object(a0, z); o->via.map.ptr[0].key = msgpack::object(a0, z);

View File

@@ -13506,7 +13506,7 @@ struct object_with_zone<type::tuple<A0> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0>& v) const { const type::tuple<A0>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*1)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*1, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 1; o.via.array.size = 1;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13519,7 +13519,7 @@ struct object_with_zone<type::tuple<A0, A1> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1>& v) const { const type::tuple<A0, A1>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*2)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 2; o.via.array.size = 2;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13533,7 +13533,7 @@ struct object_with_zone<type::tuple<A0, A1, A2> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2>& v) const { const type::tuple<A0, A1, A2>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*3)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*3, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 3; o.via.array.size = 3;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13548,7 +13548,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3>& v) const { const type::tuple<A0, A1, A2, A3>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*4)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*4, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 4; o.via.array.size = 4;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13564,7 +13564,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4>& v) const { const type::tuple<A0, A1, A2, A3, A4>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*5)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*5, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 5; o.via.array.size = 5;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13581,7 +13581,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*6)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*6, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 6; o.via.array.size = 6;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13599,7 +13599,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*7)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*7, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 7; o.via.array.size = 7;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13618,7 +13618,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*8)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*8, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 8; o.via.array.size = 8;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13638,7 +13638,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*9)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*9, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 9; o.via.array.size = 9;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13659,7 +13659,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> > {
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*10)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*10, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 10; o.via.array.size = 10;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13681,7 +13681,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*11)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*11, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 11; o.via.array.size = 11;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13704,7 +13704,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*12)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*12, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 12; o.via.array.size = 12;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13728,7 +13728,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*13)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*13, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 13; o.via.array.size = 13;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13753,7 +13753,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*14)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*14, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 14; o.via.array.size = 14;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13779,7 +13779,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*15)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*15, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 15; o.via.array.size = 15;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13806,7 +13806,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*16)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*16, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 16; o.via.array.size = 16;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13834,7 +13834,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*17)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*17, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 17; o.via.array.size = 17;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13863,7 +13863,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*18)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*18, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 18; o.via.array.size = 18;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13893,7 +13893,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*19)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*19, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 19; o.via.array.size = 19;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13924,7 +13924,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*20)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*20, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 20; o.via.array.size = 20;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13956,7 +13956,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*21)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*21, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 21; o.via.array.size = 21;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -13989,7 +13989,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*22)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*22, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 22; o.via.array.size = 22;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14023,7 +14023,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*23)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*23, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 23; o.via.array.size = 23;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14058,7 +14058,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*24)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*24, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 24; o.via.array.size = 24;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14094,7 +14094,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*25)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*25, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 25; o.via.array.size = 25;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14131,7 +14131,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*26)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*26, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 26; o.via.array.size = 26;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14169,7 +14169,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*27)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*27, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 27; o.via.array.size = 27;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14208,7 +14208,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*28)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*28, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 28; o.via.array.size = 28;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14248,7 +14248,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*29)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*29, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 29; o.via.array.size = 29;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14289,7 +14289,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*30)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*30, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 30; o.via.array.size = 30;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14331,7 +14331,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*31)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*31, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 31; o.via.array.size = 31;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);
@@ -14374,7 +14374,7 @@ struct object_with_zone<type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10,
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31>& v) const { const type::tuple<A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, A22, A23, A24, A25, A26, A27, A28, A29, A30, A31>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*32)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*32, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = 32; o.via.array.size = 32;
o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone); o.via.array.ptr[0] = msgpack::object(v.template get<0>(), o.zone);

View File

@@ -77,7 +77,7 @@ struct define_array {
void msgpack_object(msgpack::object* o, msgpack::zone& z) const void msgpack_object(msgpack::object* o, msgpack::zone& z) const
{ {
o->type = msgpack::type::ARRAY; o->type = msgpack::type::ARRAY;
o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*sizeof...(Args))); o->via.array.ptr = static_cast<msgpack::object*>(z.allocate_align(sizeof(msgpack::object)*sizeof...(Args), MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o->via.array.size = sizeof...(Args); o->via.array.size = sizeof...(Args);
define_array_imp<std::tuple<Args&...>, sizeof...(Args)>::object(o, z, a); define_array_imp<std::tuple<Args&...>, sizeof...(Args)>::object(o, z, a);

View File

@@ -83,7 +83,7 @@ struct define_map {
{ {
static_assert(sizeof...(Args) % 2 == 0, ""); static_assert(sizeof...(Args) % 2 == 0, "");
o->type = msgpack::type::MAP; o->type = msgpack::type::MAP;
o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*sizeof...(Args)/2)); o->via.map.ptr = static_cast<msgpack::object_kv*>(z.allocate_align(sizeof(msgpack::object_kv)*sizeof...(Args)/2, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
o->via.map.size = sizeof...(Args) / 2; o->via.map.size = sizeof...(Args) / 2;
define_map_imp<std::tuple<Args&...>, sizeof...(Args)>::object(o, z, a); define_map_imp<std::tuple<Args&...>, sizeof...(Args)>::object(o, z, a);

View File

@@ -203,7 +203,7 @@ template <typename... Args>
msgpack::object::with_zone& o, msgpack::object::with_zone& o,
msgpack::type::tuple<Args...> const& v) const { msgpack::type::tuple<Args...> const& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*sizeof...(Args))); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*sizeof...(Args), MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = sizeof...(Args); o.via.array.size = sizeof...(Args);
MsgpackTupleToObjectWithZone<decltype(v), sizeof...(Args)>::convert(o, v); MsgpackTupleToObjectWithZone<decltype(v), sizeof...(Args)>::convert(o, v);
} }

View File

@@ -81,7 +81,7 @@ struct object_with_zone<std::list<T, Alloc> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -109,7 +109,7 @@ struct object_with_zone<type::assoc_vector<K, V, Compare, Alloc> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;
@@ -195,7 +195,7 @@ struct object_with_zone<std::map<K, V, Compare, Alloc> > {
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;
@@ -288,7 +288,7 @@ struct object_with_zone<std::multimap<K, V, Compare, Alloc> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;

View File

@@ -64,7 +64,7 @@ template <typename T1, typename T2>
struct object_with_zone<std::pair<T1, T2> > { struct object_with_zone<std::pair<T1, T2> > {
void operator()(msgpack::object::with_zone& o, const std::pair<T1, T2>& v) const { void operator()(msgpack::object::with_zone& o, const std::pair<T1, T2>& v) const {
o.type = msgpack::type::ARRAY; o.type = msgpack::type::ARRAY;
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*2)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*2, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = 2; o.via.array.size = 2;
p[0] = msgpack::object(v.first, o.zone); p[0] = msgpack::object(v.first, o.zone);

View File

@@ -87,7 +87,7 @@ struct object_with_zone<std::set<T, Compare, Alloc> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;
@@ -163,7 +163,7 @@ struct object_with_zone<std::multiset<T, Compare, Alloc> > {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -84,7 +84,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_map<K, V, Hash, Pred, Alloc>
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;
@@ -141,7 +141,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_multimap<K, V, Hash, Pred, Al
o.via.map.size = 0; o.via.map.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size)); msgpack::object_kv* p = static_cast<msgpack::object_kv*>(o.zone.allocate_align(sizeof(msgpack::object_kv)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
msgpack::object_kv* const pend = p + size; msgpack::object_kv* const pend = p + size;
o.via.map.ptr = p; o.via.map.ptr = p;
o.via.map.size = size; o.via.map.size = size;

View File

@@ -82,7 +82,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_set<T, Hash, Compare, Alloc>
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;
@@ -136,7 +136,7 @@ struct object_with_zone<MSGPACK_STD_TR1::unordered_multiset<T, Hash, Compare, Al
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -89,7 +89,7 @@ struct object_with_zone<std::vector<T, Alloc> > {
} }
else { else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -65,7 +65,7 @@ struct object_with_zone<std::vector<bool, Alloc> > {
o.via.array.size = 0; o.via.array.size = 0;
} else { } else {
uint32_t size = checked_get_container_size(v.size()); uint32_t size = checked_get_container_size(v.size());
msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size)); msgpack::object* p = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object)*size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
msgpack::object* const pend = p + size; msgpack::object* const pend = p + size;
o.via.array.ptr = p; o.via.array.ptr = p;
o.via.array.size = size; o.via.array.size = size;

View File

@@ -345,7 +345,7 @@ inline std::size_t aligned_size(
template <typename T> template <typename T>
T* zone::allocate() T* zone::allocate()
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -364,7 +364,7 @@ T* zone::allocate()
template <typename T, typename A1> template <typename T, typename A1>
T* zone::allocate(A1 a1) T* zone::allocate(A1 a1)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -383,7 +383,7 @@ T* zone::allocate(A1 a1)
template <typename T, typename A1, typename A2> template <typename T, typename A1, typename A2>
T* zone::allocate(A1 a1, A2 a2) T* zone::allocate(A1 a1, A2 a2)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -402,7 +402,7 @@ T* zone::allocate(A1 a1, A2 a2)
template <typename T, typename A1, typename A2, typename A3> template <typename T, typename A1, typename A2, typename A3>
T* zone::allocate(A1 a1, A2 a2, A3 a3) T* zone::allocate(A1 a1, A2 a2, A3 a3)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -421,7 +421,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3)
template <typename T, typename A1, typename A2, typename A3, typename A4> template <typename T, typename A1, typename A2, typename A3, typename A4>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -440,7 +440,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -459,7 +459,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -478,7 +478,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -497,7 +497,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -516,7 +516,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -535,7 +535,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9)
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -554,7 +554,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9,
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -573,7 +573,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9,
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -592,7 +592,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9,
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -611,7 +611,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9,
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {
@@ -630,7 +630,7 @@ T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9,
template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15> template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8, typename A9, typename A10, typename A11, typename A12, typename A13, typename A14, typename A15>
T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15) T* zone::allocate(A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9, A10 a10, A11 a11, A12 a12, A13 a13, A14 a14, A15 a15)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {

View File

@@ -24,6 +24,11 @@
#define MSGPACK_ZONE_ALIGN sizeof(void*) #define MSGPACK_ZONE_ALIGN sizeof(void*)
#endif #endif
#if defined(_MSC_VER)
#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type)
#else
#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type)
#endif
namespace msgpack { namespace msgpack {

View File

@@ -184,7 +184,6 @@ public:
void swap(zone& o); void swap(zone& o);
static void* operator new(std::size_t size) static void* operator new(std::size_t size)
{ {
void* p = ::malloc(size); void* p = ::malloc(size);
@@ -329,7 +328,7 @@ inline void zone::undo_allocate(size_t size)
template <typename T, typename... Args> template <typename T, typename... Args>
T* zone::allocate(Args... args) T* zone::allocate(Args... args)
{ {
void* x = allocate_align(sizeof(T)); void* x = allocate_align(sizeof(T), MSGPACK_ZONE_ALIGNOF(T));
try { try {
m_finalizer_array.push(&zone::object_destruct<T>, x); m_finalizer_array.push(&zone::object_destruct<T>, x);
} catch (...) { } catch (...) {

View File

@@ -26,6 +26,12 @@
#define MSGPACK_ZONE_ALIGN sizeof(void*) #define MSGPACK_ZONE_ALIGN sizeof(void*)
#endif #endif
#if defined(_MSC_VER)
#define MSGPACK_ZONE_ALIGNOF(type) __alignof(type)
#else
#define MSGPACK_ZONE_ALIGNOF(type) __alignof__(type)
#endif
namespace msgpack { namespace msgpack {
/// @cond /// @cond

View File

@@ -154,13 +154,14 @@ inline std::size_t aligned_zone_size(msgpack::object const& obj) {
break; break;
case msgpack::type::EXT: case msgpack::type::EXT:
s += msgpack::aligned_size( s += msgpack::aligned_size(
detail::add_ext_type_size<sizeof(std::size_t)>(obj.via.ext.size)); detail::add_ext_type_size<sizeof(std::size_t)>(obj.via.ext.size),
MSGPACK_ZONE_ALIGNOF(msgpack::object));
break; break;
case msgpack::type::STR: case msgpack::type::STR:
s += msgpack::aligned_size(obj.via.str.size); s += msgpack::aligned_size(obj.via.str.size, MSGPACK_ZONE_ALIGNOF(msgpack::object));
break; break;
case msgpack::type::BIN: case msgpack::type::BIN:
s += msgpack::aligned_size(obj.via.bin.size); s += msgpack::aligned_size(obj.via.bin.size, MSGPACK_ZONE_ALIGNOF(msgpack::object));
break; break;
default: default:
break; break;
@@ -344,7 +345,7 @@ struct object_with_zone<msgpack::object> {
} }
case msgpack::type::ARRAY: case msgpack::type::ARRAY:
o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object) * v.via.array.size)); o.via.array.ptr = static_cast<msgpack::object*>(o.zone.allocate_align(sizeof(msgpack::object) * v.via.array.size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
o.via.array.size = v.via.array.size; o.via.array.size = v.via.array.size;
for (msgpack::object for (msgpack::object
* po(o.via.array.ptr), * po(o.via.array.ptr),
@@ -357,7 +358,7 @@ struct object_with_zone<msgpack::object> {
return; return;
case msgpack::type::MAP: case msgpack::type::MAP:
o.via.map.ptr = (msgpack::object_kv*)o.zone.allocate_align(sizeof(msgpack::object_kv) * v.via.map.size); o.via.map.ptr = (msgpack::object_kv*)o.zone.allocate_align(sizeof(msgpack::object_kv) * v.via.map.size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv));
o.via.map.size = v.via.map.size; o.via.map.size = v.via.map.size;
for(msgpack::object_kv for(msgpack::object_kv
* po(o.via.map.ptr), * po(o.via.map.ptr),

View File

@@ -117,7 +117,7 @@ struct unpack_array {
if (size / sizeof(msgpack::object) != n) { if (size / sizeof(msgpack::object) != n) {
throw msgpack::array_size_overflow("array size overflow"); throw msgpack::array_size_overflow("array size overflow");
} }
o.via.array.ptr = static_cast<msgpack::object*>(u.zone().allocate_align(size)); o.via.array.ptr = static_cast<msgpack::object*>(u.zone().allocate_align(size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
} }
}; };
@@ -139,7 +139,7 @@ struct unpack_map {
if (size / sizeof(msgpack::object_kv) != n) { if (size / sizeof(msgpack::object_kv) != n) {
throw msgpack::map_size_overflow("map size overflow"); throw msgpack::map_size_overflow("map size overflow");
} }
o.via.map.ptr = static_cast<msgpack::object_kv*>(u.zone().allocate_align(size)); o.via.map.ptr = static_cast<msgpack::object_kv*>(u.zone().allocate_align(size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
} }
}; };
@@ -164,7 +164,7 @@ inline void unpack_str(unpack_user& u, const char* p, uint32_t l, msgpack::objec
} }
else { else {
if (l > u.limit().str()) throw msgpack::str_size_overflow("str size overflow"); if (l > u.limit().str()) throw msgpack::str_size_overflow("str size overflow");
char* tmp = static_cast<char*>(u.zone().allocate_align(l)); char* tmp = static_cast<char*>(u.zone().allocate_align(l, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, p, l); std::memcpy(tmp, p, l);
o.via.str.ptr = tmp; o.via.str.ptr = tmp;
} }
@@ -180,7 +180,7 @@ inline void unpack_bin(unpack_user& u, const char* p, uint32_t l, msgpack::objec
} }
else { else {
if (l > u.limit().bin()) throw msgpack::bin_size_overflow("bin size overflow"); if (l > u.limit().bin()) throw msgpack::bin_size_overflow("bin size overflow");
char* tmp = static_cast<char*>(u.zone().allocate_align(l)); char* tmp = static_cast<char*>(u.zone().allocate_align(l, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, p, l); std::memcpy(tmp, p, l);
o.via.bin.ptr = tmp; o.via.bin.ptr = tmp;
} }
@@ -196,7 +196,7 @@ inline void unpack_ext(unpack_user& u, const char* p, std::size_t l, msgpack::ob
} }
else { else {
if (l > u.limit().ext()) throw msgpack::ext_size_overflow("ext size overflow"); if (l > u.limit().ext()) throw msgpack::ext_size_overflow("ext size overflow");
char* tmp = static_cast<char*>(u.zone().allocate_align(l)); char* tmp = static_cast<char*>(u.zone().allocate_align(l, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, p, l); std::memcpy(tmp, p, l);
o.via.ext.ptr = tmp; o.via.ext.ptr = tmp;
} }

View File

@@ -113,7 +113,7 @@ public:
set_referenced(true); set_referenced(true);
} }
else { else {
char* tmp = static_cast<char*>(zone().allocate_align(size)); char* tmp = static_cast<char*>(zone().allocate_align(size, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, v, size); std::memcpy(tmp, v, size);
obj->via.str.ptr = tmp; obj->via.str.ptr = tmp;
} }
@@ -129,7 +129,7 @@ public:
set_referenced(true); set_referenced(true);
} }
else { else {
char* tmp = static_cast<char*>(zone().allocate_align(size)); char* tmp = static_cast<char*>(zone().allocate_align(size, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, v, size); std::memcpy(tmp, v, size);
obj->via.bin.ptr = tmp; obj->via.bin.ptr = tmp;
} }
@@ -145,7 +145,7 @@ public:
set_referenced(true); set_referenced(true);
} }
else { else {
char* tmp = static_cast<char*>(zone().allocate_align(size)); char* tmp = static_cast<char*>(zone().allocate_align(size, MSGPACK_ZONE_ALIGNOF(char)));
std::memcpy(tmp, v, size); std::memcpy(tmp, v, size);
obj->via.ext.ptr = tmp; obj->via.ext.ptr = tmp;
} }
@@ -167,7 +167,7 @@ public:
throw msgpack::array_size_overflow("array size overflow"); throw msgpack::array_size_overflow("array size overflow");
} }
obj->via.array.ptr = obj->via.array.ptr =
static_cast<msgpack::object*>(m_zone->allocate_align(size)); static_cast<msgpack::object*>(m_zone->allocate_align(size, MSGPACK_ZONE_ALIGNOF(msgpack::object)));
} }
m_stack.push_back(obj->via.array.ptr); m_stack.push_back(obj->via.array.ptr);
return true; return true;
@@ -198,7 +198,7 @@ public:
throw msgpack::map_size_overflow("map size overflow"); throw msgpack::map_size_overflow("map size overflow");
} }
obj->via.map.ptr = obj->via.map.ptr =
static_cast<msgpack::object_kv*>(m_zone->allocate_align(size)); static_cast<msgpack::object_kv*>(m_zone->allocate_align(size, MSGPACK_ZONE_ALIGNOF(msgpack::object_kv)));
} }
m_stack.push_back(reinterpret_cast<msgpack::object*>(obj->via.map.ptr)); m_stack.push_back(reinterpret_cast<msgpack::object*>(obj->via.map.ptr));
return true; return true;

View File

@@ -20,6 +20,7 @@ namespace msgpack {
MSGPACK_API_VERSION_NAMESPACE(v2) { MSGPACK_API_VERSION_NAMESPACE(v2) {
/// @endcond /// @endcond
struct zone_push_finalizer { struct zone_push_finalizer {
zone_push_finalizer(msgpack::zone& z):m_z(&z) {} zone_push_finalizer(msgpack::zone& z):m_z(&z) {}
void set_zone(msgpack::zone& z) { m_z = &z; } void set_zone(msgpack::zone& z) { m_z = &z; }

View File

@@ -181,7 +181,7 @@ TEST(object, cross_zone_copy_ext)
msgpack::object::with_zone obj1(z1); msgpack::object::with_zone obj1(z1);
obj1.type = msgpack::type::EXT; obj1.type = msgpack::type::EXT;
char* ptr = static_cast<char*>(obj1.zone.allocate_align(2)); char* ptr = static_cast<char*>(obj1.zone.allocate_align(2, MSGPACK_ZONE_ALIGNOF(char)));
ptr[0] = 1; ptr[0] = 1;
ptr[1] = 2; ptr[1] = 2;
obj1.via.ext.ptr = ptr; obj1.via.ext.ptr = ptr;
@@ -204,7 +204,7 @@ TEST(object, cross_zone_copy_construct_ext)
msgpack::object::with_zone obj1(z1); msgpack::object::with_zone obj1(z1);
obj1.type = msgpack::type::EXT; obj1.type = msgpack::type::EXT;
char* ptr = static_cast<char*>(obj1.zone.allocate_align(2)); char* ptr = static_cast<char*>(obj1.zone.allocate_align(2, MSGPACK_ZONE_ALIGNOF(char)));
ptr[0] = 1; ptr[0] = 1;
ptr[1] = 2; ptr[1] = 2;
obj1.via.ext.ptr = ptr; obj1.via.ext.ptr = ptr;