pans
2017-08-09 02aab60af4ebfadb0a51d44135c734d91430e11d
update capnproto include file

git-svn-id: http://192.168.1.226/svn/proxy@981 454eff88-639b-444f-9e54-f578c98de674
23个文件已修改
757 ■■■■■ 已修改文件
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/any.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/c++.capnp.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/common.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/compat/json.capnp.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/compat/json.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/persistent.capnp.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc-twoparty.capnp.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc.capnp 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc.capnp.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema-parser.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.capnp 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.capnp.h 375 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.h 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/array.h 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/common.h 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/compat/http.h 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/exception.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/mutex.h 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/one-of.h 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/parse/char.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/thread.h 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/vector.h 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/any.h
@@ -461,8 +461,6 @@
  inline Reader(T&& value)
      : _reader(_::PointerHelpers<FromReader<T>>::getInternalReader(kj::fwd<T>(value))) {}
  inline MessageSize totalSize() const { return _reader.totalSize().asPublic(); }
  kj::ArrayPtr<const byte> getDataSection() {
    return _reader.getDataSectionAsBlob();
  }
@@ -485,11 +483,6 @@
    // T must be a struct type.
    return typename T::Reader(_reader);
  }
  template <typename T>
  ReaderFor<T> as(StructSchema schema) const;
  // T must be DynamicStruct. Defined in dynamic.h.
private:
  _::StructReader _reader;
@@ -536,11 +529,6 @@
    // T must be a struct type.
    return typename T::Builder(_builder);
  }
  template <typename T>
  BuilderFor<T> as(StructSchema schema);
  // T must be DynamicStruct. Defined in dynamic.h.
private:
  _::StructBuilder _builder;
  friend class Orphanage;
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/c++.capnp.h
@@ -6,7 +6,7 @@
#include <capnp/generated-header-support.h>
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/common.h
@@ -41,8 +41,8 @@
namespace capnp {
#define CAPNP_VERSION_MAJOR 0
#define CAPNP_VERSION_MINOR 7
#define CAPNP_VERSION_MICRO 0
#define CAPNP_VERSION_MINOR 6
#define CAPNP_VERSION_MICRO 1
#define CAPNP_VERSION \
  (CAPNP_VERSION_MAJOR * 1000000 + CAPNP_VERSION_MINOR * 1000 + CAPNP_VERSION_MICRO)
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/compat/json.capnp.h
@@ -9,7 +9,7 @@
#include <capnp/capability.h>
#endif  // !CAPNP_LITE
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/compat/json.h
@@ -193,20 +193,6 @@
  void addFieldHandler(StructSchema::Field field, Handler<T>& handler);
  // Matches only the specific field. T can be a dynamic type. T must match the field's type.
  // ---------------------------------------------------------------------------
  // Hack to support string literal parameters
  template <size_t size, typename... Params>
  auto decode(const char (&input)[size], Params&&... params) const
      -> decltype(decode(kj::arrayPtr(input, size), kj::fwd<Params>(params)...)) {
    return decode(kj::arrayPtr(input, size - 1), kj::fwd<Params>(params)...);
  }
  template <size_t size, typename... Params>
  auto decodeRaw(const char (&input)[size], Params&&... params) const
      -> decltype(decodeRaw(kj::arrayPtr(input, size), kj::fwd<Params>(params)...)) {
    return decodeRaw(kj::arrayPtr(input, size - 1), kj::fwd<Params>(params)...);
  }
private:
  class HandlerBase;
  struct Impl;
@@ -224,14 +210,10 @@
// =======================================================================================
// inline implementation details
template <bool isDynamic>
struct EncodeImpl;
template <typename T>
kj::String JsonCodec::encode(T&& value) {
  Type type = Type::from(value);
  typedef FromAny<kj::Decay<T>> Base;
  return encode(DynamicValue::Reader(ReaderFor<Base>(kj::fwd<T>(value))), type);
  return encode(DynamicValue::Reader(ReaderFor<Base>(kj::fwd<T>(value))), Type::from<Base>());
}
template <typename T>
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h
@@ -179,8 +179,6 @@
  template <typename T, typename = kj::EnableIf<kind<FromReader<T>>() == Kind::STRUCT>>
  inline Reader(T&& value): Reader(toDynamic(value)) {}
  inline operator AnyStruct::Reader() const { return AnyStruct::Reader(reader); }
  inline MessageSize totalSize() const { return reader.totalSize().asPublic(); }
  template <typename T>
@@ -236,7 +234,6 @@
  friend class Orphan<DynamicStruct>;
  friend class Orphan<DynamicValue>;
  friend class Orphan<AnyPointer>;
  friend class AnyStruct::Reader;
};
class DynamicStruct::Builder {
@@ -248,8 +245,6 @@
  template <typename T, typename = kj::EnableIf<kind<FromBuilder<T>>() == Kind::STRUCT>>
  inline Builder(T&& value): Builder(toDynamic(value)) {}
  inline operator AnyStruct::Reader() { return AnyStruct::Builder(builder); }
  inline MessageSize totalSize() const { return asReader().totalSize(); }
@@ -328,7 +323,6 @@
  friend class Orphan<DynamicStruct>;
  friend class Orphan<DynamicValue>;
  friend class Orphan<AnyPointer>;
  friend class AnyStruct::Builder;
};
class DynamicStruct::Pipeline {
@@ -369,8 +363,6 @@
  template <typename T, typename = kj::EnableIf<kind<FromReader<T>>() == Kind::LIST>>
  inline Reader(T&& value): Reader(toDynamic(value)) {}
  inline operator AnyList::Reader() const { return AnyList::Reader(reader); }
  template <typename T>
  typename T::Reader as() const;
@@ -414,8 +406,6 @@
  template <typename T, typename = kj::EnableIf<kind<FromBuilder<T>>() == Kind::LIST>>
  inline Builder(T&& value): Builder(toDynamic(value)) {}
  inline operator AnyList::Builder() { return AnyList::Builder(builder); }
  template <typename T>
  typename T::Builder as();
@@ -1524,16 +1514,6 @@
template <>
inline AnyStruct::Builder DynamicStruct::Builder::as<AnyStruct>() {
  return AnyStruct::Builder(builder);
}
template <>
inline DynamicStruct::Reader AnyStruct::Reader::as<DynamicStruct>(StructSchema schema) const {
  return DynamicStruct::Reader(schema, _reader);
}
template <>
inline DynamicStruct::Builder AnyStruct::Builder::as<DynamicStruct>(StructSchema schema) {
  return DynamicStruct::Builder(schema, _builder);
}
template <typename T>
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/persistent.capnp.h
@@ -9,7 +9,7 @@
#include <capnp/capability.h>
#endif  // !CAPNP_LITE
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc-twoparty.capnp.h
@@ -6,7 +6,7 @@
#include <capnp/generated-header-support.h>
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc.capnp
@@ -233,11 +233,11 @@
    abort @1 :Exception;
    # Sent when a connection is being aborted due to an unrecoverable error.  This could be e.g.
    # because the sender received an invalid or nonsensical message or because the sender had an
    # internal error.  The sender will shut down the outgoing half of the connection after `abort`
    # and will completely close the connection shortly thereafter (it's up to the sender how much
    # of a time buffer they want to offer for the client to receive the `abort` before the
    # connection is reset).
    # because the sender received an invalid or nonsensical message (`isCallersFault` is true) or
    # because the sender had an internal error (`isCallersFault` is false).  The sender will shut
    # down the outgoing half of the connection after `abort` and will completely close the
    # connection shortly thereafter (it's up to the sender how much of a time buffer they want to
    # offer for the client to receive the `abort` before the connection is reset).
    # Level 0 features -----------------------------------------------
@@ -446,22 +446,23 @@
    # in the calls so that the results need not pass back through Vat B.
    #
    # For example:
    # - Alice, in Vat A, calls foo() on Bob in Vat B.
    # - Alice, in Vat A, call foo() on Bob in Vat B.
    # - Alice makes a pipelined call bar() on the promise returned by foo().
    # - Later on, Bob resolves the promise from foo() to point at Carol, who lives in Vat A (next
    #   to Alice).
    # - Vat B dutifully forwards the bar() call to Carol.  Let us call this forwarded call bar'().
    #   Notice that bar() and bar'() are travelling in opposite directions on the same network
    #   link.
    # - The `Call` for bar'() has `sendResultsTo` set to `yourself`.
    # - Vat B sends a `Return` for bar() with `takeFromOtherQuestion` set in place of the results,
    #   with the value set to the question ID of bar'().  Vat B does not wait for bar'() to return,
    #   as doing so would introduce unnecessary round trip latency.
    # - The `Call` for bar'() has `sendResultsTo` set to `yourself`, with the value being the
    #   question ID originally assigned to the bar() call.
    # - Vat A receives bar'() and delivers it to Carol.
    # - When bar'() returns, Vat A sends a `Return` for bar'() to Vat B, with `resultsSentElsewhere`
    #   set in place of results.
    # - Vat A sends a `Finish` for the bar() call to Vat B.
    # - Vat B receives the `Finish` for bar() and sends a `Finish` for bar'().
    # - When bar'() returns, Vat A immediately takes the results and returns them from bar().
    # - Meanwhile, Vat A sends a `Return` for bar'() to Vat B, with `resultsSentElsewhere` set in
    #   place of results.
    # - Vat A sends a `Finish` for that call to Vat B.
    # - Vat B receives the `Return` for bar'() and sends a `Return` for bar(), with
    #   `receivedFromYourself` set in place of the results.
    # - Vat B receives the `Finish` for bar() and sends a `Finish` to bar'().
    thirdParty @7 :RecipientId;
    # **(level 3)**
@@ -517,7 +518,7 @@
    takeFromOtherQuestion @6 :QuestionId;
    # The sender has also sent (before this message) a `Call` with the given question ID and with
    # `sendResultsTo.yourself` set, and the results of that other call should be used as the
    # results here.  `takeFromOtherQuestion` can only used once per question.
    # results here.
    acceptFromThirdParty @7 :ThirdPartyCapId;
    # **(level 3)**
@@ -780,7 +781,7 @@
  # Message type sent to pick up a capability hosted by the receiving vat and provided by a third
  # party.  The third party previously designated the capability using `Provide`.
  #
  # This message is also used to pick up a redirected return -- see `Return.acceptFromThirdParty`.
  # This message is also used to pick up a redirected return -- see `Return.redirect`.
  questionId @0 :QuestionId;
  # A new question ID identifying this accept message, which will eventually receive a Return
@@ -950,8 +951,8 @@
    # Hopefully this is unusual.
    senderHosted @1 :ExportId;
    # The ID of a capability in the sender's export table (receiver's import table).  It may be a
    # newly allocated table entry, or an existing entry (increments the reference count).
    # A capability newly exported by the sender.  This is the ID of the new capability in the
    # sender's export table (receiver's import table).
    senderPromise @2 :ExportId;
    # A promise that the sender will resolve later.  The sender will send exactly one Resolve
@@ -1233,8 +1234,8 @@
# The information that must be sent in an `Accept` message to identify the object being accepted.
#
# In a network where each vat has a public/private key pair, this could simply be the public key
# fingerprint of the provider vat along with a nonce matching the one in the `RecipientId` used
# in the `Provide` message sent from that provider.
# fingerprint of the provider vat along with the question ID used in the `Provide` message sent from
# that provider.
using RecipientId = AnyPointer;
# **(level 3)**
@@ -1243,7 +1244,8 @@
# capability.
#
# In a network where each vat has a public/private key pair, this could simply be the public key
# fingerprint of the recipient along with a nonce matching the one in the `ProvisionId`.
# fingerprint of the recipient.  (CapTP also calls for a nonce to identify the object.  In our
# case, the `Provide` message's `questionId` can serve as the nonce.)
using ThirdPartyCapId = AnyPointer;
# **(level 3)**
@@ -1252,8 +1254,8 @@
#
# In a network where each vat has a public/private key pair, this could be a combination of the
# third party's public key fingerprint, hints on how to connect to the third party (e.g. an IP
# address), and the nonce used in the corresponding `Provide` message's `RecipientId` as sent
# to that third party (used to identify which capability to pick up).
# address), and the question ID used in the corresponding `Provide` message sent to that third party
# (used to identify which capability to pick up).
using JoinKeyPart = AnyPointer;
# **(level 4)**
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/rpc.capnp.h
@@ -6,7 +6,7 @@
#include <capnp/generated-header-support.h>
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema-parser.h
@@ -77,11 +77,6 @@
  // normally.  In this case, the result is a best-effort attempt to compile the schema, but it
  // may be invalid or corrupt, and using it for anything may cause exceptions to be thrown.
  kj::Maybe<schema::Node::SourceInfo::Reader> getSourceInfo(Schema schema) const;
  // Look up source info (e.g. doc comments) for the given schema, which must have come from this
  // SchemaParser. Note that this will also work for implicit group and param types that don't have
  // a type name hence don't have a `ParsedSchema`.
  template <typename T>
  inline void loadCompiledTypeAndDependencies() {
    // See SchemaLoader::loadCompiledTypeAndDependencies().
@@ -114,9 +109,6 @@
  ParsedSchema getNested(kj::StringPtr name) const;
  // Gets the nested node with the given name, or throws an exception if there is no such nested
  // declaration.
  schema::Node::SourceInfo::Reader getSourceInfo() const;
  // Get the source info for this schema.
private:
  inline ParsedSchema(Schema inner, const SchemaParser& parser): Schema(inner), parser(&parser) {}
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.capnp
@@ -169,33 +169,6 @@
      targetsAnnotation @30 :Bool;
    }
  }
  struct SourceInfo {
    # Additional information about a node which is not needed at runtime, but may be useful for
    # documentation or debugging purposes. This is kept in a separate struct to make sure it
    # doesn't accidentally get included in contexts where it is not needed. The
    # `CodeGeneratorRequest` includes this information in a separate array.
    id @0 :Id;
    # ID of the Node which this info describes.
    docComment @1 :Text;
    # The top-level doc comment for the Node.
    members @2 :List(Member);
    # Information about each member -- i.e. fields (for structs), enumerants (for enums), or
    # methods (for interfaces).
    #
    # This list is the same length and order as the corresponding list in the Node, i.e.
    # Node.struct.fields, Node.enum.enumerants, or Node.interface.methods.
    struct Member {
      docComment @0 :Text;
      # Doc comment on the member.
    }
    # TODO(someday): Record location of the declaration in the original source code.
  }
}
struct Field {
@@ -494,10 +467,6 @@
  nodes @0 :List(Node);
  # All nodes parsed by the compiler, including for the files on the command line and their
  # imports.
  sourceInfo @3 :List(Node.SourceInfo);
  # Information about the original source code for each node, where available. This array may be
  # omitted or may be missing some nodes if no info is available for them.
  requestedFiles @1 :List(RequestedFile);
  # Files which were listed on the command line.
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.capnp.h
@@ -6,7 +6,7 @@
#include <capnp/generated-header-support.h>
#if CAPNP_VERSION != 7000
#if CAPNP_VERSION != 6001
#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
#endif
@@ -17,8 +17,6 @@
CAPNP_DECLARE_SCHEMA(e682ab4cf923a417);
CAPNP_DECLARE_SCHEMA(b9521bccf10fa3b1);
CAPNP_DECLARE_SCHEMA(debf55bbfa0fc242);
CAPNP_DECLARE_SCHEMA(f38e1de3041357ae);
CAPNP_DECLARE_SCHEMA(c2ba9038898e1fa2);
CAPNP_DECLARE_SCHEMA(9ea0b19b37fb4435);
CAPNP_DECLARE_SCHEMA(b54ab3364333f598);
CAPNP_DECLARE_SCHEMA(e82753cff0c2218f);
@@ -85,7 +83,6 @@
  };
  struct Parameter;
  struct NestedNode;
  struct SourceInfo;
  struct Struct;
  struct Enum;
  struct Interface;
@@ -124,37 +121,6 @@
  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(debf55bbfa0fc242, 1, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};
struct Node::SourceInfo {
  SourceInfo() = delete;
  class Reader;
  class Builder;
  class Pipeline;
  struct Member;
  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(f38e1de3041357ae, 1, 2)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
  };
};
struct Node::SourceInfo::Member {
  Member() = delete;
  class Reader;
  class Builder;
  class Pipeline;
  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(c2ba9038898e1fa2, 0, 1)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
@@ -660,7 +626,7 @@
  struct RequestedFile;
  struct _capnpPrivate {
    CAPNP_DECLARE_STRUCT_HEADER(bfc546f6210ad7ce, 0, 4)
    CAPNP_DECLARE_STRUCT_HEADER(bfc546f6210ad7ce, 0, 3)
    #if !CAPNP_LITE
    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
    #endif  // !CAPNP_LITE
@@ -1029,183 +995,6 @@
class Node::NestedNode::Pipeline {
public:
  typedef NestedNode Pipelines;
  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE
class Node::SourceInfo::Reader {
public:
  typedef SourceInfo Reads;
  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE
  inline  ::uint64_t getId() const;
  inline bool hasDocComment() const;
  inline  ::capnp::Text::Reader getDocComment() const;
  inline bool hasMembers() const;
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Reader getMembers() const;
private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};
class Node::SourceInfo::Builder {
public:
  typedef SourceInfo Builds;
  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }
  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE
  inline  ::uint64_t getId();
  inline void setId( ::uint64_t value);
  inline bool hasDocComment();
  inline  ::capnp::Text::Builder getDocComment();
  inline void setDocComment( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initDocComment(unsigned int size);
  inline void adoptDocComment(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownDocComment();
  inline bool hasMembers();
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Builder getMembers();
  inline void setMembers( ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Reader value);
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Builder initMembers(unsigned int size);
  inline void adoptMembers(::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>> disownMembers();
private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};
#if !CAPNP_LITE
class Node::SourceInfo::Pipeline {
public:
  typedef SourceInfo Pipelines;
  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
      : _typeless(kj::mv(typeless)) {}
private:
  ::capnp::AnyPointer::Pipeline _typeless;
  friend class ::capnp::PipelineHook;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
};
#endif  // !CAPNP_LITE
class Node::SourceInfo::Member::Reader {
public:
  typedef Member Reads;
  Reader() = default;
  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
  inline ::capnp::MessageSize totalSize() const {
    return _reader.totalSize().asPublic();
  }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const {
    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
  }
#endif  // !CAPNP_LITE
  inline bool hasDocComment() const;
  inline  ::capnp::Text::Reader getDocComment() const;
private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::List;
  friend class ::capnp::MessageBuilder;
  friend class ::capnp::Orphanage;
};
class Node::SourceInfo::Member::Builder {
public:
  typedef Member Builds;
  Builder() = delete;  // Deleted to discourage incorrect usage.
                       // You can explicitly initialize to nullptr instead.
  inline Builder(decltype(nullptr)) {}
  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
  inline operator Reader() const { return Reader(_builder.asReader()); }
  inline Reader asReader() const { return *this; }
  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
#if !CAPNP_LITE
  inline ::kj::StringTree toString() const { return asReader().toString(); }
#endif  // !CAPNP_LITE
  inline bool hasDocComment();
  inline  ::capnp::Text::Builder getDocComment();
  inline void setDocComment( ::capnp::Text::Reader value);
  inline  ::capnp::Text::Builder initDocComment(unsigned int size);
  inline void adoptDocComment(::capnp::Orphan< ::capnp::Text>&& value);
  inline ::capnp::Orphan< ::capnp::Text> disownDocComment();
private:
  ::capnp::_::StructBuilder _builder;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::ToDynamic_;
  friend class ::capnp::Orphanage;
  template <typename, ::capnp::Kind>
  friend struct ::capnp::_::PointerHelpers;
};
#if !CAPNP_LITE
class Node::SourceInfo::Member::Pipeline {
public:
  typedef Member Pipelines;
  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
@@ -4050,9 +3839,6 @@
  inline bool hasCapnpVersion() const;
  inline  ::capnp::schema::CapnpVersion::Reader getCapnpVersion() const;
  inline bool hasSourceInfo() const;
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Reader getSourceInfo() const;
private:
  ::capnp::_::StructReader _reader;
  template <typename, ::capnp::Kind>
@@ -4101,13 +3887,6 @@
  inline  ::capnp::schema::CapnpVersion::Builder initCapnpVersion();
  inline void adoptCapnpVersion(::capnp::Orphan< ::capnp::schema::CapnpVersion>&& value);
  inline ::capnp::Orphan< ::capnp::schema::CapnpVersion> disownCapnpVersion();
  inline bool hasSourceInfo();
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Builder getSourceInfo();
  inline void setSourceInfo( ::capnp::List< ::capnp::schema::Node::SourceInfo>::Reader value);
  inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Builder initSourceInfo(unsigned int size);
  inline void adoptSourceInfo(::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo>>&& value);
  inline ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo>> disownSourceInfo();
private:
  ::capnp::_::StructBuilder _builder;
@@ -4757,122 +4536,6 @@
inline void Node::NestedNode::Builder::setId( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}
inline  ::uint64_t Node::SourceInfo::Reader::getId() const {
  return _reader.getDataField< ::uint64_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline  ::uint64_t Node::SourceInfo::Builder::getId() {
  return _builder.getDataField< ::uint64_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
}
inline void Node::SourceInfo::Builder::setId( ::uint64_t value) {
  _builder.setDataField< ::uint64_t>(
      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
}
inline bool Node::SourceInfo::Reader::hasDocComment() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Node::SourceInfo::Builder::hasDocComment() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader Node::SourceInfo::Reader::getDocComment() const {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder Node::SourceInfo::Builder::getDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Node::SourceInfo::Builder::setDocComment( ::capnp::Text::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder Node::SourceInfo::Builder::initDocComment(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void Node::SourceInfo::Builder::adoptDocComment(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> Node::SourceInfo::Builder::disownDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline bool Node::SourceInfo::Reader::hasMembers() const {
  return !_reader.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline bool Node::SourceInfo::Builder::hasMembers() {
  return !_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Reader Node::SourceInfo::Reader::getMembers() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::get(_reader.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Builder Node::SourceInfo::Builder::getMembers() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::get(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline void Node::SourceInfo::Builder::setMembers( ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::set(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>::Builder Node::SourceInfo::Builder::initMembers(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::init(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), size);
}
inline void Node::SourceInfo::Builder::adoptMembers(
    ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::adopt(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>> Node::SourceInfo::Builder::disownMembers() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo::Member>>::disown(_builder.getPointerField(
      ::capnp::bounded<1>() * ::capnp::POINTERS));
}
inline bool Node::SourceInfo::Member::Reader::hasDocComment() const {
  return !_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline bool Node::SourceInfo::Member::Builder::hasDocComment() {
  return !_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::Text::Reader Node::SourceInfo::Member::Reader::getDocComment() const {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::capnp::Text::Builder Node::SourceInfo::Member::Builder::getDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline void Node::SourceInfo::Member::Builder::setDocComment( ::capnp::Text::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
}
inline  ::capnp::Text::Builder Node::SourceInfo::Member::Builder::initDocComment(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
}
inline void Node::SourceInfo::Member::Builder::adoptDocComment(
    ::capnp::Orphan< ::capnp::Text>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::Text> Node::SourceInfo::Member::Builder::disownDocComment() {
  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(_builder.getPointerField(
      ::capnp::bounded<0>() * ::capnp::POINTERS));
}
inline  ::uint16_t Node::Struct::Reader::getDataWordCount() const {
@@ -8060,40 +7723,6 @@
inline ::capnp::Orphan< ::capnp::schema::CapnpVersion> CodeGeneratorRequest::Builder::disownCapnpVersion() {
  return ::capnp::_::PointerHelpers< ::capnp::schema::CapnpVersion>::disown(_builder.getPointerField(
      ::capnp::bounded<2>() * ::capnp::POINTERS));
}
inline bool CodeGeneratorRequest::Reader::hasSourceInfo() const {
  return !_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline bool CodeGeneratorRequest::Builder::hasSourceInfo() {
  return !_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS).isNull();
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Reader CodeGeneratorRequest::Reader::getSourceInfo() const {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::get(_reader.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Builder CodeGeneratorRequest::Builder::getSourceInfo() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::get(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline void CodeGeneratorRequest::Builder::setSourceInfo( ::capnp::List< ::capnp::schema::Node::SourceInfo>::Reader value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::set(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), value);
}
inline  ::capnp::List< ::capnp::schema::Node::SourceInfo>::Builder CodeGeneratorRequest::Builder::initSourceInfo(unsigned int size) {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::init(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), size);
}
inline void CodeGeneratorRequest::Builder::adoptSourceInfo(
    ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo>>&& value) {
  ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::adopt(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS), kj::mv(value));
}
inline ::capnp::Orphan< ::capnp::List< ::capnp::schema::Node::SourceInfo>> CodeGeneratorRequest::Builder::disownSourceInfo() {
  return ::capnp::_::PointerHelpers< ::capnp::List< ::capnp::schema::Node::SourceInfo>>::disown(_builder.getPointerField(
      ::capnp::bounded<3>() * ::capnp::POINTERS));
}
inline  ::uint64_t CodeGeneratorRequest::RequestedFile::Reader::getId() const {
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/schema.h
@@ -599,8 +599,6 @@
  template <typename T>
  inline static Type from();
  template <typename T>
  inline static Type from(T&& value);
  inline schema::Type::Which which() const;
@@ -681,9 +679,6 @@
  }
  void requireUsableAs(Type expected) const;
  template <typename T, Kind k>
  struct FromValueImpl;
  friend class ListSchema;  // only for requireUsableAs()
};
@@ -903,29 +898,6 @@
template <typename T>
inline Type Type::from() { return Type(Schema::from<T>()); }
template <typename T, Kind k>
struct Type::FromValueImpl {
  template <typename U>
  static inline Type type(U&& value) {
    return Type::from<T>();
  }
};
template <typename T>
struct Type::FromValueImpl<T, Kind::OTHER> {
  template <typename U>
  static inline Type type(U&& value) {
    // All dynamic types have getSchema().
    return value.getSchema();
  }
};
template <typename T>
inline Type Type::from(T&& value) {
  typedef FromAny<kj::Decay<T>> Base;
  return Type::FromValueImpl<Base, kind<Base>()>::type(kj::fwd<T>(value));
}
inline bool Type::isVoid   () const { return baseType == schema::Type::VOID     && listDepth == 0; }
inline bool Type::isBool   () const { return baseType == schema::Type::BOOL     && listDepth == 0; }
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/array.h
@@ -177,11 +177,6 @@
  inline T& front() { return *ptr; }
  inline T& back() { return *(ptr + size_ - 1); }
  template <typename U>
  inline bool operator==(const U& other) const { return asPtr() == other; }
  template <typename U>
  inline bool operator!=(const U& other) const { return asPtr() != other; }
  inline ArrayPtr<T> slice(size_t start, size_t end) {
    KJ_IREQUIRE(start <= end && end <= size_, "Out-of-bounds Array::slice().");
    return ArrayPtr<T>(ptr + start, end - start);
@@ -254,8 +249,6 @@
  template <typename U>
  friend class Array;
  template <typename U>
  friend class ArrayBuilder;
};
static_assert(!canMemcpy<Array<char>>(), "canMemcpy<>() is broken");
@@ -327,13 +320,6 @@
    other.ptr = nullptr;
    other.pos = nullptr;
    other.endPtr = nullptr;
  }
  ArrayBuilder(Array<T>&& other)
      : ptr(other.ptr), pos(other.ptr + other.size_), endPtr(pos), disposer(other.disposer) {
    // Create an already-full ArrayBuilder from an Array of the same type. This constructor
    // primarily exists to enable Vector<T> to be constructed from Array<T>.
    other.ptr = nullptr;
    other.size_ = 0;
  }
  KJ_DISALLOW_COPY(ArrayBuilder);
  inline ~ArrayBuilder() noexcept(false) { dispose(); }
@@ -821,15 +807,6 @@
inline Array<T> heapArray(std::initializer_list<T> init) {
  return heapArray<T>(init.begin(), init.end());
}
#if __cplusplus > 201402L
template <typename T, typename... Params>
inline Array<Decay<T>> arr(T&& param1, Params&&... params) {
  ArrayBuilder<Decay<T>> builder = heapArrayBuilder<Decay<T>>(sizeof...(params) + 1);
  (builder.add(kj::fwd<T>(param1)), ... , builder.add(kj::fwd<Params>(params)));
  return builder.finish();
}
#endif
}  // namespace kj
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/common.h
@@ -455,10 +455,6 @@
//     KJ_DECLTYPE_REF(i) i3(i);                  // i3 has type int&.
//     KJ_DECLTYPE_REF(kj::mv(i)) i4(kj::mv(i));  // i4 has type int.
template <typename T, typename U> struct IsSameType_ { static constexpr bool value = false; };
template <typename T> struct IsSameType_<T, T> { static constexpr bool value = true; };
template <typename T, typename U> constexpr bool isSameType() { return IsSameType_<T, U>::value; }
template <typename T>
struct CanConvert_ {
  static int sfinae(T);
@@ -915,6 +911,7 @@
    return value;
  }
private:  // internal interface used by friends only
  inline NullableValue() noexcept: isSet(false) {}
  inline NullableValue(T&& t) noexcept(noexcept(T(instance<T&&>())))
      : isSet(true) {
@@ -1092,32 +1089,18 @@
  inline bool operator==(decltype(nullptr)) const { return ptr == nullptr; }
  inline bool operator!=(decltype(nullptr)) const { return ptr != nullptr; }
  T& orDefault(T& defaultValue) & {
  T& orDefault(T& defaultValue) {
    if (ptr == nullptr) {
      return defaultValue;
    } else {
      return *ptr;
    }
  }
  const T& orDefault(const T& defaultValue) const & {
  const T& orDefault(const T& defaultValue) const {
    if (ptr == nullptr) {
      return defaultValue;
    } else {
      return *ptr;
    }
  }
  T&& orDefault(T&& defaultValue) && {
    if (ptr == nullptr) {
      return kj::mv(defaultValue);
    } else {
      return kj::mv(*ptr);
    }
  }
  const T&& orDefault(const T&& defaultValue) const && {
    if (ptr == nullptr) {
      return kj::mv(defaultValue);
    } else {
      return kj::mv(*ptr);
    }
  }
@@ -1180,7 +1163,7 @@
  template <typename U>
  inline Maybe(Maybe<U&>& other) noexcept: ptr(other.ptr) {}
  template <typename U>
  inline Maybe(const Maybe<U&>& other) noexcept: ptr(const_cast<const U*>(other.ptr)) {}
  inline Maybe(const Maybe<const U&>& other) noexcept: ptr(other.ptr) {}
  inline Maybe(decltype(nullptr)) noexcept: ptr(nullptr) {}
  inline Maybe& operator=(T& other) noexcept { ptr = &other; return *this; }
@@ -1247,31 +1230,8 @@
      : ptr(init.begin()), size_(init.size()) {}
  template <size_t size>
  inline constexpr ArrayPtr(T (&native)[size]): ptr(native), size_(size) {
    // Construct an ArrayPtr from a native C-style array.
    //
    // We disable this constructor for const char arrays because otherwise you would be able to
    // implicitly convert a character literal to ArrayPtr<const char>, which sounds really great,
    // except that the NUL terminator would be included, which probably isn't what you intended.
    //
    // TODO(someday): Maybe we should support character literals but explicitly chop off the NUL
    //   terminator. This could do the wrong thing if someone tries to construct an
    //   ArrayPtr<const char> from a non-NUL-terminated char array, but evidence suggests that all
    //   real use cases are in fact intending to remove the NUL terminator. It's convenient to be
    //   able to specify ArrayPtr<const char> as a parameter type and be able to accept strings
    //   as input in addition to arrays. Currently, you'll need overloading to support string
    //   literals in this case, but if you overload StringPtr, then you'll find that several
    //   conversions (e.g. from String and from a literal char array) become ambiguous! You end up
    //   having to overload for literal char arrays specifically which is cumbersome.
    static_assert(!isSameType<T, const char>(),
        "Can't implicitly convert literal char array to ArrayPtr because we don't know if "
        "you meant to include the NUL terminator. We may change this in the future to "
        "automatically drop the NUL terminator. For now, try explicitly converting to StringPtr, "
        "which can in turn implicitly convert to ArrayPtr<const char>.");
    static_assert(!isSameType<T, const char16_t>(), "see above");
    static_assert(!isSameType<T, const char32_t>(), "see above");
  }
  inline constexpr ArrayPtr(T (&native)[size]): ptr(native), size_(size) {}
  // Construct an ArrayPtr from a native C-style array.
  inline operator ArrayPtr<const T>() const {
    return ArrayPtr<const T>(ptr, size_);
@@ -1330,17 +1290,6 @@
    return true;
  }
  inline bool operator!=(const ArrayPtr& other) const { return !(*this == other); }
  template <typename U>
  inline bool operator==(const ArrayPtr<U>& other) const {
    if (size_ != other.size()) return false;
    for (size_t i = 0; i < size_; i++) {
      if (ptr[i] != other[i]) return false;
    }
    return true;
  }
  template <typename U>
  inline bool operator!=(const ArrayPtr<U>& other) const { return !(*this == other); }
private:
  T* ptr;
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/compat/http.h
@@ -144,7 +144,7 @@
  //
  //     HttpHeaderId::HOST
  //
  // TODO(soon): Fill this out with more common headers.
  // TODO(0.7): Fill this out with more common headers.
#define DECLARE_HEADER(id, name) \
  static const HttpHeaderId id;
@@ -433,7 +433,7 @@
  //
  // `url` and `headers` are invalidated when the returned promise resolves.
  virtual kj::Promise<kj::Own<kj::AsyncIoStream>> connect(kj::StringPtr host);
  virtual kj::Promise<kj::Own<kj::AsyncIoStream>> connect(kj::String host);
  // Handles CONNECT requests. Only relevant for proxy clients. Default implementation throws
  // UNIMPLEMENTED.
};
@@ -494,7 +494,7 @@
  //
  // `url` and `headers` are invalidated when the returned promise resolves.
  virtual kj::Promise<kj::Own<kj::AsyncIoStream>> connect(kj::StringPtr host);
  virtual kj::Promise<kj::Own<kj::AsyncIoStream>> connect(kj::String host);
  // Handles CONNECT requests. Only relevant for proxy services. Default implementation throws
  // UNIMPLEMENTED.
};
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/exception.h
@@ -33,7 +33,6 @@
namespace kj {
class ExceptionImpl;
template <typename T> class Function;
class Exception {
  // Exception thrown in case of fatal errors.
@@ -217,11 +216,6 @@
  virtual StackTraceMode stackTraceMode();
  // Returns the current preferred stack trace mode.
  virtual Function<void(Function<void()>)> getThreadInitializer();
  // Called just before a new thread is spawned using kj::Thread. Returns a function which should
  // be invoked inside the new thread to initialize the thread's ExceptionCallback. The initializer
  // function itself receives, as its parameter, the thread's main function, which it must call.
protected:
  ExceptionCallback& next;
@@ -230,8 +224,6 @@
  class RootExceptionCallback;
  friend ExceptionCallback& getExceptionCallback();
  friend class Thread;
};
ExceptionCallback& getExceptionCallback();
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/mutex.h
@@ -67,16 +67,6 @@
  // non-trivial, assert that the mutex is locked (which should be good enough to catch problems
  // in unit tests).  In non-debug builds, do nothing.
#if KJ_USE_FUTEX    // TODO(soon): Implement on pthread & win32
  class Predicate {
  public:
    virtual bool check() = 0;
  };
  void lockWhen(Predicate& predicate);
  // Lock (exclusively) when predicate.check() returns true.
#endif
private:
#if KJ_USE_FUTEX
  uint futex;
@@ -89,11 +79,6 @@
  static constexpr uint EXCLUSIVE_HELD = 1u << 31;
  static constexpr uint EXCLUSIVE_REQUESTED = 1u << 30;
  static constexpr uint SHARED_COUNT_MASK = EXCLUSIVE_REQUESTED - 1;
  struct Waiter;
  kj::Maybe<Waiter&> waitersHead = nullptr;
  kj::Maybe<Waiter&>* waitersTail = &waitersHead;
  // linked list of waitUntil()s; can only modify under lock
#elif _WIN32
  uintptr_t srwLock;  // Actually an SRWLOCK, but don't want to #include <windows.h> in header.
@@ -263,39 +248,6 @@
  inline T& getAlreadyLockedShared();
  inline T& getAlreadyLockedExclusive() const;
  // Like `getWithoutLock()`, but asserts that the lock is already held by the calling thread.
#if KJ_USE_FUTEX    // TODO(soon): Implement on pthread & win32
  template <typename Cond, typename Func>
  auto when(Cond&& condition, Func&& callback) const -> decltype(callback(instance<T&>())) {
    // Waits until condition(state) returns true, then calls callback(state) under lock.
    //
    // `condition`, when called, receives as its parameter a const reference to the state, which is
    // locked (either shared or exclusive). `callback` returns a mutable reference, which is
    // exclusively locked.
    //
    // `condition()` may be called multiple times, from multiple threads, while waiting for the
    // condition to become true. It may even return true once, but then be called more times.
    // It is guaranteed, though, that at the time `callback()` is finally called, `condition()`
    // would currently return true (assuming it is a pure function of the guarded data).
    struct PredicateImpl final: public _::Mutex::Predicate {
      bool check() override {
        return condition(value);
      }
      Cond&& condition;
      const T& value;
      PredicateImpl(Cond&& condition, const T& value)
          : condition(kj::fwd<Cond>(condition)), value(value) {}
    };
    PredicateImpl impl(kj::fwd<Cond>(condition), value);
    mutex.lockWhen(impl);
    KJ_DEFER(mutex.unlock(_::Mutex::EXCLUSIVE));
    return callback(value);
  }
#endif
private:
  mutable _::Mutex mutex;
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/one-of.h
@@ -81,21 +81,6 @@
    return *reinterpret_cast<T*>(space);
  }
  template <typename T>
  Maybe<T&> tryGet() {
    if (is<T>()) {
      return *reinterpret_cast<T*>(space);
    } else {
      return nullptr;
    }
  }
  template <uint i>
  KJ_NORETURN(void allHandled());
  // After a series of if/else blocks handling each variant of the OneOf, have the final else
  // block call allHandled<n>() where n is the number of variants. This will fail to compile
  // if new variants are added in the future.
private:
  uint tag;
@@ -164,17 +149,6 @@
    doAll(moveVariantFrom<Variants>(other)...);
  }
};
template <typename... Variants>
template <uint i>
void OneOf<Variants...>::allHandled() {
  // After a series of if/else blocks handling each variant of the OneOf, have the final else
  // block call allHandled<n>() where n is the number of variants. This will fail to compile
  // if new variants are added in the future.
  static_assert(i == sizeof...(Variants), "new OneOf variants need to be handled here");
  KJ_UNREACHABLE;
}
}  // namespace kj
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/parse/char.h
@@ -111,13 +111,6 @@
    return (bits[c / 64] & (1ll << (c % 64))) != 0;
  }
  inline bool containsAll(ArrayPtr<const char> text) const {
    for (char c: text) {
      if (!contains(c)) return false;
    }
    return true;
  }
  template <typename Input>
  Maybe<char> operator()(Input& input) const {
    if (input.atEnd()) return nullptr;
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/thread.h
@@ -53,10 +53,7 @@
private:
  struct ThreadState {
    ThreadState(Function<void()> func);
    Function<void()> func;
    Function<void(Function<void()>)> initializer;
    kj::Maybe<kj::Exception> exception;
    unsigned int refcount;
VisitFace/RtspNativeCodec/app/libs/capnproto/include/kj/vector.h
@@ -43,7 +43,6 @@
public:
  inline Vector() = default;
  inline explicit Vector(size_t capacity): builder(heapArrayBuilder<T>(capacity)) {}
  inline Vector(Array<T>&& array): builder(kj::mv(array)) {}
  inline operator ArrayPtr<T>() { return builder; }
  inline operator ArrayPtr<const T>() const { return builder; }
@@ -70,18 +69,6 @@
      setCapacity(size());
    }
    return builder.finish();
  }
  template <typename U>
  inline bool operator==(const U& other) const { return asPtr() == other; }
  template <typename U>
  inline bool operator!=(const U& other) const { return asPtr() != other; }
  inline ArrayPtr<T> slice(size_t start, size_t end) {
    return asPtr().slice(start, end);
  }
  inline ArrayPtr<const T> slice(size_t start, size_t end) const {
    return asPtr().slice(start, end);
  }
  template <typename... Params>
@@ -116,7 +103,9 @@
  }
  inline void clear() {
    builder.resize(0);
    while (builder.size() > 0) {
      builder.removeLast();
    }
  }
  inline void truncate(size_t size) {