Mercurial > hg > sv-dependency-builds
comparison win32-mingw/include/capnp/pointer-helpers.h @ 149:279b18cc7785
Update Win32 capnp builds to v0.6
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Tue, 23 May 2017 09:16:54 +0100 |
parents | 38d1c0e7850b |
children |
comparison
equal
deleted
inserted
replaced
148:b4bfdf10c4b3 | 149:279b18cc7785 |
---|---|
111 template <typename T> | 111 template <typename T> |
112 struct PointerHelpers<T, Kind::BLOB> { | 112 struct PointerHelpers<T, Kind::BLOB> { |
113 static inline typename T::Reader get(PointerReader reader, | 113 static inline typename T::Reader get(PointerReader reader, |
114 const void* defaultValue = nullptr, | 114 const void* defaultValue = nullptr, |
115 uint defaultBytes = 0) { | 115 uint defaultBytes = 0) { |
116 return reader.getBlob<T>(defaultValue, defaultBytes * BYTES); | 116 return reader.getBlob<T>(defaultValue, bounded(defaultBytes) * BYTES); |
117 } | 117 } |
118 static inline typename T::Builder get(PointerBuilder builder, | 118 static inline typename T::Builder get(PointerBuilder builder, |
119 const void* defaultValue = nullptr, | 119 const void* defaultValue = nullptr, |
120 uint defaultBytes = 0) { | 120 uint defaultBytes = 0) { |
121 return builder.getBlob<T>(defaultValue, defaultBytes * BYTES); | 121 return builder.getBlob<T>(defaultValue, bounded(defaultBytes) * BYTES); |
122 } | 122 } |
123 static inline void set(PointerBuilder builder, typename T::Reader value) { | 123 static inline void set(PointerBuilder builder, typename T::Reader value) { |
124 builder.setBlob<T>(value); | 124 builder.setBlob<T>(value); |
125 } | 125 } |
126 static inline void setCanonical(PointerBuilder builder, typename T::Reader value) { | 126 static inline void setCanonical(PointerBuilder builder, typename T::Reader value) { |
127 builder.setBlob<T>(value); | 127 builder.setBlob<T>(value); |
128 } | 128 } |
129 static inline typename T::Builder init(PointerBuilder builder, uint size) { | 129 static inline typename T::Builder init(PointerBuilder builder, uint size) { |
130 return builder.initBlob<T>(size * BYTES); | 130 return builder.initBlob<T>(bounded(size) * BYTES); |
131 } | 131 } |
132 static inline void adopt(PointerBuilder builder, Orphan<T>&& value) { | 132 static inline void adopt(PointerBuilder builder, Orphan<T>&& value) { |
133 builder.adopt(kj::mv(value.builder)); | 133 builder.adopt(kj::mv(value.builder)); |
134 } | 134 } |
135 static inline Orphan<T> disown(PointerBuilder builder) { | 135 static inline Orphan<T> disown(PointerBuilder builder) { |