From bf63e9396cde256efe8592c20f7d307e3a6a3221 Mon Sep 17 00:00:00 2001
From: pans <pans@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 10 八月 2017 16:23:37 +0800
Subject: [PATCH] add lic
---
VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h b/VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h
index fcefcc3..58192d0 100644
--- a/VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h
+++ b/VisitFace/RtspNativeCodec/app/libs/capnproto/include/capnp/dynamic.h
@@ -179,6 +179,8 @@
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>
@@ -234,6 +236,7 @@
friend class Orphan<DynamicStruct>;
friend class Orphan<DynamicValue>;
friend class Orphan<AnyPointer>;
+ friend class AnyStruct::Reader;
};
class DynamicStruct::Builder {
@@ -245,6 +248,8 @@
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(); }
@@ -323,6 +328,7 @@
friend class Orphan<DynamicStruct>;
friend class Orphan<DynamicValue>;
friend class Orphan<AnyPointer>;
+ friend class AnyStruct::Builder;
};
class DynamicStruct::Pipeline {
@@ -363,6 +369,8 @@
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;
@@ -406,6 +414,8 @@
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();
@@ -1516,6 +1526,16 @@
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>
typename T::Pipeline DynamicStruct::Pipeline::releaseAs() {
static_assert(kind<T>() == Kind::STRUCT,
--
Gitblit v1.8.0