Mercurial > hg > sv-dependency-builds
comparison osx/include/capnp/orphan.h @ 62:0994c39f1e94
Cap'n Proto v0.6 + build for OSX
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 22 May 2017 10:01:37 +0100 |
parents | 3ab5a40c4e3b |
children |
comparison
equal
deleted
inserted
replaced
61:d101c4099725 | 62:0994c39f1e94 |
---|---|
305 return _::OrphanGetImpl<T>::applyReader(builder); | 305 return _::OrphanGetImpl<T>::applyReader(builder); |
306 } | 306 } |
307 | 307 |
308 template <typename T> | 308 template <typename T> |
309 inline void Orphan<T>::truncate(uint size) { | 309 inline void Orphan<T>::truncate(uint size) { |
310 _::OrphanGetImpl<ListElementType<T>>::truncateListOf(builder, size * ELEMENTS); | 310 _::OrphanGetImpl<ListElementType<T>>::truncateListOf(builder, bounded(size) * ELEMENTS); |
311 } | 311 } |
312 | 312 |
313 template <> | 313 template <> |
314 inline void Orphan<Text>::truncate(uint size) { | 314 inline void Orphan<Text>::truncate(uint size) { |
315 builder.truncateText(size * ELEMENTS); | 315 builder.truncateText(bounded(size) * ELEMENTS); |
316 } | 316 } |
317 | 317 |
318 template <> | 318 template <> |
319 inline void Orphan<Data>::truncate(uint size) { | 319 inline void Orphan<Data>::truncate(uint size) { |
320 builder.truncate(size * ELEMENTS, ElementSize::BYTE); | 320 builder.truncate(bounded(size) * ELEMENTS, ElementSize::BYTE); |
321 } | 321 } |
322 | 322 |
323 template <typename T> | 323 template <typename T> |
324 struct Orphanage::GetInnerBuilder<T, Kind::STRUCT> { | 324 struct Orphanage::GetInnerBuilder<T, Kind::STRUCT> { |
325 static inline _::StructBuilder apply(typename T::Builder& t) { | 325 static inline _::StructBuilder apply(typename T::Builder& t) { |
348 template <typename T, Kind k> | 348 template <typename T, Kind k> |
349 struct Orphanage::NewOrphanListImpl<List<T, k>> { | 349 struct Orphanage::NewOrphanListImpl<List<T, k>> { |
350 static inline _::OrphanBuilder apply( | 350 static inline _::OrphanBuilder apply( |
351 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { | 351 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { |
352 return _::OrphanBuilder::initList( | 352 return _::OrphanBuilder::initList( |
353 arena, capTable, size * ELEMENTS, _::ElementSizeForType<T>::value); | 353 arena, capTable, bounded(size) * ELEMENTS, _::ElementSizeForType<T>::value); |
354 } | 354 } |
355 }; | 355 }; |
356 | 356 |
357 template <typename T> | 357 template <typename T> |
358 struct Orphanage::NewOrphanListImpl<List<T, Kind::STRUCT>> { | 358 struct Orphanage::NewOrphanListImpl<List<T, Kind::STRUCT>> { |
359 static inline _::OrphanBuilder apply( | 359 static inline _::OrphanBuilder apply( |
360 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { | 360 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { |
361 return _::OrphanBuilder::initStructList( | 361 return _::OrphanBuilder::initStructList( |
362 arena, capTable, size * ELEMENTS, _::structSize<T>()); | 362 arena, capTable, bounded(size) * ELEMENTS, _::structSize<T>()); |
363 } | 363 } |
364 }; | 364 }; |
365 | 365 |
366 template <> | 366 template <> |
367 struct Orphanage::NewOrphanListImpl<Text> { | 367 struct Orphanage::NewOrphanListImpl<Text> { |
368 static inline _::OrphanBuilder apply( | 368 static inline _::OrphanBuilder apply( |
369 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { | 369 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { |
370 return _::OrphanBuilder::initText(arena, capTable, size * BYTES); | 370 return _::OrphanBuilder::initText(arena, capTable, bounded(size) * BYTES); |
371 } | 371 } |
372 }; | 372 }; |
373 | 373 |
374 template <> | 374 template <> |
375 struct Orphanage::NewOrphanListImpl<Data> { | 375 struct Orphanage::NewOrphanListImpl<Data> { |
376 static inline _::OrphanBuilder apply( | 376 static inline _::OrphanBuilder apply( |
377 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { | 377 _::BuilderArena* arena, _::CapTableBuilder* capTable, uint size) { |
378 return _::OrphanBuilder::initData(arena, capTable, size * BYTES); | 378 return _::OrphanBuilder::initData(arena, capTable, bounded(size) * BYTES); |
379 } | 379 } |
380 }; | 380 }; |
381 | 381 |
382 template <typename RootType> | 382 template <typename RootType> |
383 Orphan<RootType> Orphanage::newOrphan(uint size) const { | 383 Orphan<RootType> Orphanage::newOrphan(uint size) const { |