capnproto

FORK: Cap'n Proto serialization/RPC system - core tools and C++ library
git clone https://git.neptards.moe/neptards/capnproto.git
Log | Files | Refs | README | LICENSE

persistent.capnp.h (25171B)


      1 // Generated by Cap'n Proto compiler, DO NOT EDIT
      2 // source: persistent.capnp
      3 
      4 #pragma once
      5 
      6 #include <capnp/generated-header-support.h>
      7 #include <kj/windows-sanity.h>
      8 #if !CAPNP_LITE
      9 #include <capnp/capability.h>
     10 #endif  // !CAPNP_LITE
     11 
     12 #if CAPNP_VERSION != 10000
     13 #error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
     14 #endif
     15 
     16 
     17 CAPNP_BEGIN_HEADER
     18 
     19 namespace capnp {
     20 namespace schemas {
     21 
     22 CAPNP_DECLARE_SCHEMA(c8cb212fcd9f5691);
     23 CAPNP_DECLARE_SCHEMA(f76fba59183073a5);
     24 CAPNP_DECLARE_SCHEMA(b76848c18c40efbf);
     25 CAPNP_DECLARE_SCHEMA(f622595091cafb67);
     26 
     27 }  // namespace schemas
     28 }  // namespace capnp
     29 
     30 namespace capnp {
     31 
     32 template <typename SturdyRef = ::capnp::AnyPointer, typename Owner = ::capnp::AnyPointer>
     33 struct Persistent {
     34   Persistent() = delete;
     35 
     36 #if !CAPNP_LITE
     37   class Client;
     38   class Server;
     39 #endif  // !CAPNP_LITE
     40 
     41   struct SaveParams;
     42   struct SaveResults;
     43 
     44   #if !CAPNP_LITE
     45   struct _capnpPrivate {
     46     CAPNP_DECLARE_INTERFACE_HEADER(c8cb212fcd9f5691)
     47     static const ::capnp::_::RawBrandedSchema::Scope brandScopes[];
     48     static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
     49     static const ::capnp::_::RawBrandedSchema::Dependency brandDependencies[];
     50     static const ::capnp::_::RawBrandedSchema specificBrand;
     51     static constexpr ::capnp::_::RawBrandedSchema const* brand() { return ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand(); }
     52   };
     53   #endif  // !CAPNP_LITE
     54 };
     55 
     56 template <typename SturdyRef, typename Owner>
     57 struct Persistent<SturdyRef, Owner>::SaveParams {
     58   SaveParams() = delete;
     59 
     60   class Reader;
     61   class Builder;
     62   class Pipeline;
     63 
     64   struct _capnpPrivate {
     65     CAPNP_DECLARE_STRUCT_HEADER(f76fba59183073a5, 0, 1)
     66     #if !CAPNP_LITE
     67     static const ::capnp::_::RawBrandedSchema::Scope brandScopes[];
     68     static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
     69     static const ::capnp::_::RawBrandedSchema specificBrand;
     70     static constexpr ::capnp::_::RawBrandedSchema const* brand() { return ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand(); }
     71     #endif  // !CAPNP_LITE
     72   };
     73 };
     74 
     75 template <typename SturdyRef, typename Owner>
     76 struct Persistent<SturdyRef, Owner>::SaveResults {
     77   SaveResults() = delete;
     78 
     79   class Reader;
     80   class Builder;
     81   class Pipeline;
     82 
     83   struct _capnpPrivate {
     84     CAPNP_DECLARE_STRUCT_HEADER(b76848c18c40efbf, 0, 1)
     85     #if !CAPNP_LITE
     86     static const ::capnp::_::RawBrandedSchema::Scope brandScopes[];
     87     static const ::capnp::_::RawBrandedSchema::Binding brandBindings[];
     88     static const ::capnp::_::RawBrandedSchema specificBrand;
     89     static constexpr ::capnp::_::RawBrandedSchema const* brand() { return ::capnp::_::ChooseBrand<_capnpPrivate, SturdyRef, Owner>::brand(); }
     90     #endif  // !CAPNP_LITE
     91   };
     92 };
     93 
     94 // =======================================================================================
     95 
     96 #if !CAPNP_LITE
     97 template <typename SturdyRef, typename Owner>
     98 class Persistent<SturdyRef, Owner>::Client
     99     : public virtual ::capnp::Capability::Client {
    100 public:
    101   typedef Persistent Calls;
    102   typedef Persistent Reads;
    103 
    104   Client(decltype(nullptr));
    105   explicit Client(::kj::Own< ::capnp::ClientHook>&& hook);
    106   template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Server*>()>>
    107   Client(::kj::Own<_t>&& server);
    108   template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Client*>()>>
    109   Client(::kj::Promise<_t>&& promise);
    110   Client(::kj::Exception&& exception);
    111   Client(Client&) = default;
    112   Client(Client&&) = default;
    113   Client& operator=(Client& other);
    114   Client& operator=(Client&& other);
    115 
    116   template <typename SturdyRef2 = ::capnp::AnyPointer, typename Owner2 = ::capnp::AnyPointer>
    117   typename Persistent<SturdyRef2, Owner2>::Client asGeneric() {
    118     return castAs<Persistent<SturdyRef2, Owner2>>();
    119   }
    120 
    121   CAPNP_AUTO_IF_MSVC(::capnp::Request<typename  ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename  ::capnp::Persistent<SturdyRef, Owner>::SaveResults>) saveRequest(
    122       ::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
    123 
    124 protected:
    125   Client() = default;
    126 };
    127 
    128 template <typename SturdyRef, typename Owner>
    129 class Persistent<SturdyRef, Owner>::Server
    130     : public virtual ::capnp::Capability::Server {
    131 public:
    132   typedef Persistent Serves;
    133 
    134   ::capnp::Capability::Server::DispatchCallResult dispatchCall(
    135       uint64_t interfaceId, uint16_t methodId,
    136       ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context)
    137       override;
    138 
    139 protected:
    140   typedef ::capnp::CallContext<typename  ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename  ::capnp::Persistent<SturdyRef, Owner>::SaveResults> SaveContext;
    141   virtual ::kj::Promise<void> save(SaveContext context);
    142 
    143   inline typename  ::capnp::Persistent<SturdyRef, Owner>::Client thisCap() {
    144     return ::capnp::Capability::Server::thisCap()
    145         .template castAs< ::capnp::Persistent<SturdyRef, Owner>>();
    146   }
    147 
    148   ::capnp::Capability::Server::DispatchCallResult dispatchCallInternal(
    149       uint16_t methodId,
    150       ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context);
    151 };
    152 #endif  // !CAPNP_LITE
    153 
    154 template <typename SturdyRef, typename Owner>
    155 class Persistent<SturdyRef, Owner>::SaveParams::Reader {
    156 public:
    157   typedef SaveParams Reads;
    158 
    159   Reader() = default;
    160   inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
    161 
    162   inline ::capnp::MessageSize totalSize() const {
    163     return _reader.totalSize().asPublic();
    164   }
    165 
    166 #if !CAPNP_LITE
    167   inline ::kj::StringTree toString() const {
    168     return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
    169   }
    170 #endif  // !CAPNP_LITE
    171 
    172   template <typename SturdyRef2 = ::capnp::AnyPointer, typename Owner2 = ::capnp::AnyPointer>
    173   typename Persistent<SturdyRef2, Owner2>::SaveParams::Reader asPersistentGeneric() {
    174     return typename Persistent<SturdyRef2, Owner2>::SaveParams::Reader(_reader);
    175   }
    176 
    177   inline bool hasSealFor() const;
    178   inline  ::capnp::ReaderFor<Owner> getSealFor() const;
    179 
    180 private:
    181   ::capnp::_::StructReader _reader;
    182   template <typename, ::capnp::Kind>
    183   friend struct ::capnp::ToDynamic_;
    184   template <typename, ::capnp::Kind>
    185   friend struct ::capnp::_::PointerHelpers;
    186   template <typename, ::capnp::Kind>
    187   friend struct ::capnp::List;
    188   friend class ::capnp::MessageBuilder;
    189   friend class ::capnp::Orphanage;
    190 };
    191 
    192 template <typename SturdyRef, typename Owner>
    193 class Persistent<SturdyRef, Owner>::SaveParams::Builder {
    194 public:
    195   typedef SaveParams Builds;
    196 
    197   Builder() = delete;  // Deleted to discourage incorrect usage.
    198                        // You can explicitly initialize to nullptr instead.
    199   inline Builder(decltype(nullptr)) {}
    200   inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
    201   inline operator Reader() const { return Reader(_builder.asReader()); }
    202   inline Reader asReader() const { return *this; }
    203 
    204   inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
    205 #if !CAPNP_LITE
    206   inline ::kj::StringTree toString() const { return asReader().toString(); }
    207 #endif  // !CAPNP_LITE
    208 
    209   template <typename SturdyRef2 = ::capnp::AnyPointer, typename Owner2 = ::capnp::AnyPointer>
    210   typename Persistent<SturdyRef2, Owner2>::SaveParams::Builder asPersistentGeneric() {
    211     return typename Persistent<SturdyRef2, Owner2>::SaveParams::Builder(_builder);
    212   }
    213 
    214   inline bool hasSealFor();
    215   inline  ::capnp::BuilderFor<Owner> getSealFor();
    216   inline void setSealFor( ::capnp::ReaderFor<Owner> value);
    217   inline  ::capnp::BuilderFor<Owner> initSealFor();
    218   inline  ::capnp::BuilderFor<Owner> initSealFor(unsigned int size);
    219   inline void adoptSealFor(::capnp::Orphan<Owner>&& value);
    220   inline ::capnp::Orphan<Owner> disownSealFor();
    221 
    222 private:
    223   ::capnp::_::StructBuilder _builder;
    224   template <typename, ::capnp::Kind>
    225   friend struct ::capnp::ToDynamic_;
    226   friend class ::capnp::Orphanage;
    227   template <typename, ::capnp::Kind>
    228   friend struct ::capnp::_::PointerHelpers;
    229 };
    230 
    231 #if !CAPNP_LITE
    232 template <typename SturdyRef, typename Owner>
    233 class Persistent<SturdyRef, Owner>::SaveParams::Pipeline {
    234 public:
    235   typedef SaveParams Pipelines;
    236 
    237   inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
    238   inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
    239       : _typeless(kj::mv(typeless)) {}
    240 
    241   inline  ::capnp::PipelineFor<Owner> getSealFor();
    242 private:
    243   ::capnp::AnyPointer::Pipeline _typeless;
    244   friend class ::capnp::PipelineHook;
    245   template <typename, ::capnp::Kind>
    246   friend struct ::capnp::ToDynamic_;
    247 };
    248 #endif  // !CAPNP_LITE
    249 
    250 template <typename SturdyRef, typename Owner>
    251 class Persistent<SturdyRef, Owner>::SaveResults::Reader {
    252 public:
    253   typedef SaveResults Reads;
    254 
    255   Reader() = default;
    256   inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
    257 
    258   inline ::capnp::MessageSize totalSize() const {
    259     return _reader.totalSize().asPublic();
    260   }
    261 
    262 #if !CAPNP_LITE
    263   inline ::kj::StringTree toString() const {
    264     return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
    265   }
    266 #endif  // !CAPNP_LITE
    267 
    268   template <typename SturdyRef2 = ::capnp::AnyPointer, typename Owner2 = ::capnp::AnyPointer>
    269   typename Persistent<SturdyRef2, Owner2>::SaveResults::Reader asPersistentGeneric() {
    270     return typename Persistent<SturdyRef2, Owner2>::SaveResults::Reader(_reader);
    271   }
    272 
    273   inline bool hasSturdyRef() const;
    274   inline  ::capnp::ReaderFor<SturdyRef> getSturdyRef() const;
    275 
    276 private:
    277   ::capnp::_::StructReader _reader;
    278   template <typename, ::capnp::Kind>
    279   friend struct ::capnp::ToDynamic_;
    280   template <typename, ::capnp::Kind>
    281   friend struct ::capnp::_::PointerHelpers;
    282   template <typename, ::capnp::Kind>
    283   friend struct ::capnp::List;
    284   friend class ::capnp::MessageBuilder;
    285   friend class ::capnp::Orphanage;
    286 };
    287 
    288 template <typename SturdyRef, typename Owner>
    289 class Persistent<SturdyRef, Owner>::SaveResults::Builder {
    290 public:
    291   typedef SaveResults Builds;
    292 
    293   Builder() = delete;  // Deleted to discourage incorrect usage.
    294                        // You can explicitly initialize to nullptr instead.
    295   inline Builder(decltype(nullptr)) {}
    296   inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
    297   inline operator Reader() const { return Reader(_builder.asReader()); }
    298   inline Reader asReader() const { return *this; }
    299 
    300   inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
    301 #if !CAPNP_LITE
    302   inline ::kj::StringTree toString() const { return asReader().toString(); }
    303 #endif  // !CAPNP_LITE
    304 
    305   template <typename SturdyRef2 = ::capnp::AnyPointer, typename Owner2 = ::capnp::AnyPointer>
    306   typename Persistent<SturdyRef2, Owner2>::SaveResults::Builder asPersistentGeneric() {
    307     return typename Persistent<SturdyRef2, Owner2>::SaveResults::Builder(_builder);
    308   }
    309 
    310   inline bool hasSturdyRef();
    311   inline  ::capnp::BuilderFor<SturdyRef> getSturdyRef();
    312   inline void setSturdyRef( ::capnp::ReaderFor<SturdyRef> value);
    313   inline  ::capnp::BuilderFor<SturdyRef> initSturdyRef();
    314   inline  ::capnp::BuilderFor<SturdyRef> initSturdyRef(unsigned int size);
    315   inline void adoptSturdyRef(::capnp::Orphan<SturdyRef>&& value);
    316   inline ::capnp::Orphan<SturdyRef> disownSturdyRef();
    317 
    318 private:
    319   ::capnp::_::StructBuilder _builder;
    320   template <typename, ::capnp::Kind>
    321   friend struct ::capnp::ToDynamic_;
    322   friend class ::capnp::Orphanage;
    323   template <typename, ::capnp::Kind>
    324   friend struct ::capnp::_::PointerHelpers;
    325 };
    326 
    327 #if !CAPNP_LITE
    328 template <typename SturdyRef, typename Owner>
    329 class Persistent<SturdyRef, Owner>::SaveResults::Pipeline {
    330 public:
    331   typedef SaveResults Pipelines;
    332 
    333   inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
    334   inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
    335       : _typeless(kj::mv(typeless)) {}
    336 
    337   inline  ::capnp::PipelineFor<SturdyRef> getSturdyRef();
    338 private:
    339   ::capnp::AnyPointer::Pipeline _typeless;
    340   friend class ::capnp::PipelineHook;
    341   template <typename, ::capnp::Kind>
    342   friend struct ::capnp::ToDynamic_;
    343 };
    344 #endif  // !CAPNP_LITE
    345 
    346 // =======================================================================================
    347 
    348 #if !CAPNP_LITE
    349 template <typename SturdyRef, typename Owner>
    350 inline Persistent<SturdyRef, Owner>::Client::Client(decltype(nullptr))
    351     : ::capnp::Capability::Client(nullptr) {}
    352 template <typename SturdyRef, typename Owner>
    353 inline Persistent<SturdyRef, Owner>::Client::Client(
    354     ::kj::Own< ::capnp::ClientHook>&& hook)
    355     : ::capnp::Capability::Client(::kj::mv(hook)) {}
    356 template <typename SturdyRef, typename Owner>
    357 template <typename _t, typename>
    358 inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Own<_t>&& server)
    359     : ::capnp::Capability::Client(::kj::mv(server)) {}
    360 template <typename SturdyRef, typename Owner>
    361 template <typename _t, typename>
    362 inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Promise<_t>&& promise)
    363     : ::capnp::Capability::Client(::kj::mv(promise)) {}
    364 template <typename SturdyRef, typename Owner>
    365 inline Persistent<SturdyRef, Owner>::Client::Client(::kj::Exception&& exception)
    366     : ::capnp::Capability::Client(::kj::mv(exception)) {}
    367 template <typename SturdyRef, typename Owner>
    368 inline typename  ::capnp::Persistent<SturdyRef, Owner>::Client& Persistent<SturdyRef, Owner>::Client::operator=(Client& other) {
    369   ::capnp::Capability::Client::operator=(other);
    370   return *this;
    371 }
    372 template <typename SturdyRef, typename Owner>
    373 inline typename  ::capnp::Persistent<SturdyRef, Owner>::Client& Persistent<SturdyRef, Owner>::Client::operator=(Client&& other) {
    374   ::capnp::Capability::Client::operator=(kj::mv(other));
    375   return *this;
    376 }
    377 
    378 #endif  // !CAPNP_LITE
    379 template <typename SturdyRef, typename Owner>
    380 inline bool Persistent<SturdyRef, Owner>::SaveParams::Reader::hasSealFor() const {
    381   return !_reader.getPointerField(
    382       ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
    383 }
    384 template <typename SturdyRef, typename Owner>
    385 inline bool Persistent<SturdyRef, Owner>::SaveParams::Builder::hasSealFor() {
    386   return !_builder.getPointerField(
    387       ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
    388 }
    389 template <typename SturdyRef, typename Owner>
    390 inline  ::capnp::ReaderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Reader::getSealFor() const {
    391   return ::capnp::_::PointerHelpers<Owner>::get(_reader.getPointerField(
    392       ::capnp::bounded<0>() * ::capnp::POINTERS));
    393 }
    394 template <typename SturdyRef, typename Owner>
    395 inline  ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::getSealFor() {
    396   return ::capnp::_::PointerHelpers<Owner>::get(_builder.getPointerField(
    397       ::capnp::bounded<0>() * ::capnp::POINTERS));
    398 }
    399 #if !CAPNP_LITE
    400 template <typename SturdyRef, typename Owner>
    401 inline  ::capnp::PipelineFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Pipeline::getSealFor() {
    402   return  ::capnp::PipelineFor<Owner>(_typeless.getPointerField(0));
    403 }
    404 #endif  // !CAPNP_LITE
    405 template <typename SturdyRef, typename Owner>
    406 inline void Persistent<SturdyRef, Owner>::SaveParams::Builder::setSealFor( ::capnp::ReaderFor<Owner> value) {
    407   ::capnp::_::PointerHelpers<Owner>::set(_builder.getPointerField(
    408       ::capnp::bounded<0>() * ::capnp::POINTERS), value);
    409 }
    410 template <typename SturdyRef, typename Owner>
    411 inline  ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::initSealFor() {
    412   return ::capnp::_::PointerHelpers<Owner>::init(_builder.getPointerField(
    413       ::capnp::bounded<0>() * ::capnp::POINTERS));
    414 }
    415 template <typename SturdyRef, typename Owner>
    416 inline  ::capnp::BuilderFor<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::initSealFor(unsigned int size) {
    417   return ::capnp::_::PointerHelpers<Owner>::init(_builder.getPointerField(
    418       ::capnp::bounded<0>() * ::capnp::POINTERS), size);
    419 }
    420 template <typename SturdyRef, typename Owner>
    421 inline void Persistent<SturdyRef, Owner>::SaveParams::Builder::adoptSealFor(
    422     ::capnp::Orphan<Owner>&& value) {
    423   ::capnp::_::PointerHelpers<Owner>::adopt(_builder.getPointerField(
    424       ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
    425 }
    426 template <typename SturdyRef, typename Owner>
    427 inline ::capnp::Orphan<Owner> Persistent<SturdyRef, Owner>::SaveParams::Builder::disownSealFor() {
    428   return ::capnp::_::PointerHelpers<Owner>::disown(_builder.getPointerField(
    429       ::capnp::bounded<0>() * ::capnp::POINTERS));
    430 }
    431 
    432 // Persistent<SturdyRef, Owner>::SaveParams
    433 template <typename SturdyRef, typename Owner>
    434 constexpr uint16_t Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::dataWordSize;
    435 template <typename SturdyRef, typename Owner>
    436 constexpr uint16_t Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::pointerCount;
    437 #if !CAPNP_LITE
    438 template <typename SturdyRef, typename Owner>
    439 constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::kind;
    440 template <typename SturdyRef, typename Owner>
    441 constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::schema;
    442 template <typename SturdyRef, typename Owner>
    443 const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brandScopes[] = {
    444   { 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
    445 };
    446 template <typename SturdyRef, typename Owner>
    447 const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brandBindings[] = {
    448   ::capnp::_::brandBindingFor<SturdyRef>(),
    449   ::capnp::_::brandBindingFor<Owner>(),
    450 };
    451 template <typename SturdyRef, typename Owner>
    452 const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::specificBrand = {
    453   &::capnp::schemas::s_f76fba59183073a5, brandScopes, nullptr,
    454   1, 0, nullptr
    455 };
    456 #endif  // !CAPNP_LITE
    457 
    458 template <typename SturdyRef, typename Owner>
    459 inline bool Persistent<SturdyRef, Owner>::SaveResults::Reader::hasSturdyRef() const {
    460   return !_reader.getPointerField(
    461       ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
    462 }
    463 template <typename SturdyRef, typename Owner>
    464 inline bool Persistent<SturdyRef, Owner>::SaveResults::Builder::hasSturdyRef() {
    465   return !_builder.getPointerField(
    466       ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
    467 }
    468 template <typename SturdyRef, typename Owner>
    469 inline  ::capnp::ReaderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Reader::getSturdyRef() const {
    470   return ::capnp::_::PointerHelpers<SturdyRef>::get(_reader.getPointerField(
    471       ::capnp::bounded<0>() * ::capnp::POINTERS));
    472 }
    473 template <typename SturdyRef, typename Owner>
    474 inline  ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::getSturdyRef() {
    475   return ::capnp::_::PointerHelpers<SturdyRef>::get(_builder.getPointerField(
    476       ::capnp::bounded<0>() * ::capnp::POINTERS));
    477 }
    478 #if !CAPNP_LITE
    479 template <typename SturdyRef, typename Owner>
    480 inline  ::capnp::PipelineFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Pipeline::getSturdyRef() {
    481   return  ::capnp::PipelineFor<SturdyRef>(_typeless.getPointerField(0));
    482 }
    483 #endif  // !CAPNP_LITE
    484 template <typename SturdyRef, typename Owner>
    485 inline void Persistent<SturdyRef, Owner>::SaveResults::Builder::setSturdyRef( ::capnp::ReaderFor<SturdyRef> value) {
    486   ::capnp::_::PointerHelpers<SturdyRef>::set(_builder.getPointerField(
    487       ::capnp::bounded<0>() * ::capnp::POINTERS), value);
    488 }
    489 template <typename SturdyRef, typename Owner>
    490 inline  ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::initSturdyRef() {
    491   return ::capnp::_::PointerHelpers<SturdyRef>::init(_builder.getPointerField(
    492       ::capnp::bounded<0>() * ::capnp::POINTERS));
    493 }
    494 template <typename SturdyRef, typename Owner>
    495 inline  ::capnp::BuilderFor<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::initSturdyRef(unsigned int size) {
    496   return ::capnp::_::PointerHelpers<SturdyRef>::init(_builder.getPointerField(
    497       ::capnp::bounded<0>() * ::capnp::POINTERS), size);
    498 }
    499 template <typename SturdyRef, typename Owner>
    500 inline void Persistent<SturdyRef, Owner>::SaveResults::Builder::adoptSturdyRef(
    501     ::capnp::Orphan<SturdyRef>&& value) {
    502   ::capnp::_::PointerHelpers<SturdyRef>::adopt(_builder.getPointerField(
    503       ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
    504 }
    505 template <typename SturdyRef, typename Owner>
    506 inline ::capnp::Orphan<SturdyRef> Persistent<SturdyRef, Owner>::SaveResults::Builder::disownSturdyRef() {
    507   return ::capnp::_::PointerHelpers<SturdyRef>::disown(_builder.getPointerField(
    508       ::capnp::bounded<0>() * ::capnp::POINTERS));
    509 }
    510 
    511 // Persistent<SturdyRef, Owner>::SaveResults
    512 template <typename SturdyRef, typename Owner>
    513 constexpr uint16_t Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::dataWordSize;
    514 template <typename SturdyRef, typename Owner>
    515 constexpr uint16_t Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::pointerCount;
    516 #if !CAPNP_LITE
    517 template <typename SturdyRef, typename Owner>
    518 constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::kind;
    519 template <typename SturdyRef, typename Owner>
    520 constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::schema;
    521 template <typename SturdyRef, typename Owner>
    522 const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brandScopes[] = {
    523   { 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
    524 };
    525 template <typename SturdyRef, typename Owner>
    526 const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brandBindings[] = {
    527   ::capnp::_::brandBindingFor<SturdyRef>(),
    528   ::capnp::_::brandBindingFor<Owner>(),
    529 };
    530 template <typename SturdyRef, typename Owner>
    531 const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::specificBrand = {
    532   &::capnp::schemas::s_b76848c18c40efbf, brandScopes, nullptr,
    533   1, 0, nullptr
    534 };
    535 #endif  // !CAPNP_LITE
    536 
    537 #if !CAPNP_LITE
    538 template <typename SturdyRef, typename Owner>
    539 CAPNP_AUTO_IF_MSVC(::capnp::Request<typename  ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename  ::capnp::Persistent<SturdyRef, Owner>::SaveResults>)
    540 Persistent<SturdyRef, Owner>::Client::saveRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
    541   return newCall<typename  ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename  ::capnp::Persistent<SturdyRef, Owner>::SaveResults>(
    542       0xc8cb212fcd9f5691ull, 0, sizeHint);
    543 }
    544 template <typename SturdyRef, typename Owner>
    545 ::kj::Promise<void> Persistent<SturdyRef, Owner>::Server::save(SaveContext) {
    546   return ::capnp::Capability::Server::internalUnimplemented(
    547       "capnp/persistent.capnp:Persistent", "save",
    548       0xc8cb212fcd9f5691ull, 0);
    549 }
    550 template <typename SturdyRef, typename Owner>
    551 ::capnp::Capability::Server::DispatchCallResult Persistent<SturdyRef, Owner>::Server::dispatchCall(
    552     uint64_t interfaceId, uint16_t methodId,
    553     ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
    554   switch (interfaceId) {
    555     case 0xc8cb212fcd9f5691ull:
    556       return dispatchCallInternal(methodId, context);
    557     default:
    558       return internalUnimplemented("capnp/persistent.capnp:Persistent", interfaceId);
    559   }
    560 }
    561 template <typename SturdyRef, typename Owner>
    562 ::capnp::Capability::Server::DispatchCallResult Persistent<SturdyRef, Owner>::Server::dispatchCallInternal(
    563     uint16_t methodId,
    564     ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
    565   switch (methodId) {
    566     case 0:
    567       return {
    568         save(::capnp::Capability::Server::internalGetTypedContext<
    569             typename  ::capnp::Persistent<SturdyRef, Owner>::SaveParams, typename  ::capnp::Persistent<SturdyRef, Owner>::SaveResults>(context)),
    570         false
    571       };
    572     default:
    573       (void)context;
    574       return ::capnp::Capability::Server::internalUnimplemented(
    575           "capnp/persistent.capnp:Persistent",
    576           0xc8cb212fcd9f5691ull, methodId);
    577   }
    578 }
    579 #endif  // !CAPNP_LITE
    580 
    581 // Persistent<SturdyRef, Owner>
    582 #if !CAPNP_LITE
    583 template <typename SturdyRef, typename Owner>
    584 constexpr ::capnp::Kind Persistent<SturdyRef, Owner>::_capnpPrivate::kind;
    585 template <typename SturdyRef, typename Owner>
    586 constexpr ::capnp::_::RawSchema const* Persistent<SturdyRef, Owner>::_capnpPrivate::schema;
    587 template <typename SturdyRef, typename Owner>
    588 const ::capnp::_::RawBrandedSchema::Scope Persistent<SturdyRef, Owner>::_capnpPrivate::brandScopes[] = {
    589   { 0xc8cb212fcd9f5691, brandBindings + 0, 2, false},
    590 };
    591 template <typename SturdyRef, typename Owner>
    592 const ::capnp::_::RawBrandedSchema::Binding Persistent<SturdyRef, Owner>::_capnpPrivate::brandBindings[] = {
    593   ::capnp::_::brandBindingFor<SturdyRef>(),
    594   ::capnp::_::brandBindingFor<Owner>(),
    595 };
    596 template <typename SturdyRef, typename Owner>
    597 const ::capnp::_::RawBrandedSchema::Dependency Persistent<SturdyRef, Owner>::_capnpPrivate::brandDependencies[] = {
    598   { 33554432,  ::capnp::Persistent<SturdyRef, Owner>::SaveParams::_capnpPrivate::brand() },
    599   { 50331648,  ::capnp::Persistent<SturdyRef, Owner>::SaveResults::_capnpPrivate::brand() },
    600 };
    601 template <typename SturdyRef, typename Owner>
    602 const ::capnp::_::RawBrandedSchema Persistent<SturdyRef, Owner>::_capnpPrivate::specificBrand = {
    603   &::capnp::schemas::s_c8cb212fcd9f5691, brandScopes, brandDependencies,
    604   1, 2, nullptr
    605 };
    606 #endif  // !CAPNP_LITE
    607 
    608 }  // namespace
    609 
    610 CAPNP_END_HEADER
    611