@@ -141,19 +141,6 @@ struct ReadDestUpdate
141
141
Value& m_value;
142
142
};
143
143
144
- // ! Overload CustomReadField to serialize objects that have CustomReadMessage
145
- // ! overloads. Defining a CustomReadMessage overload is simpler than defining a
146
- // ! CustomReadField overload because it only requires defining a normal
147
- // ! function, not a template function, but less flexible.
148
- template <typename LocalType, typename Reader, typename ReadDest>
149
- decltype (auto ) CustomReadField(TypeList<LocalType>, Priority<2 >, InvokeContext& invoke_context, Reader&& reader,
150
- ReadDest&& read_dest,
151
- decltype (CustomReadMessage(invoke_context, reader.get(),
152
- std::declval<LocalType&>()))* enable = nullptr )
153
- {
154
- return read_dest.update ([&](auto & value) { if (reader.has ()) CustomReadMessage (invoke_context, reader.get (), value); });
155
- }
156
-
157
144
template <typename ... LocalTypes, typename ... Args>
158
145
decltype (auto ) ReadField(TypeList<LocalTypes...>, Args&&... args)
159
146
{
@@ -189,17 +176,6 @@ bool CustomHasValue(InvokeContext& invoke_context, Values&&... value)
189
176
return true ;
190
177
}
191
178
192
- // ! Overload CustomBuildField to serialize objects that have CustomBuildMessage
193
- // ! overloads. Defining a CustomBuildMessage overload is simpler than defining a
194
- // ! CustomBuildField overload because it only requires defining a normal
195
- // ! function, not a template function, but less flexible.
196
- template <typename LocalType, typename Value, typename Output>
197
- void CustomBuildField (TypeList<LocalType>, Priority<2 >, InvokeContext& invoke_context, Value&& value, Output&& output,
198
- decltype (CustomBuildMessage(invoke_context, value, std::move(output.get())))* enable = nullptr)
199
- {
200
- CustomBuildMessage (invoke_context, value, std::move (output.init ()));
201
- }
202
-
203
179
template <typename ... LocalTypes, typename Context, typename ... Values, typename Output>
204
180
void BuildField (TypeList<LocalTypes...>, Context& context, Output&& output, Values&&... values)
205
181
{
@@ -592,34 +568,6 @@ ::capnp::Void MaybeGet(...)
592
568
return {};
593
569
}
594
570
595
- // ! Helper for CustomPassField below. Call Accessor::init method if it has one,
596
- // ! otherwise do nothing.
597
- template <typename Accessor, typename Message>
598
- decltype (auto ) MaybeInit(Message&& message, decltype (Accessor::get(message))* enable = nullptr)
599
- {
600
- return Accessor::init (message);
601
- }
602
-
603
- template <typename Accessor>
604
- ::capnp::Void MaybeInit (...)
605
- {
606
- return {};
607
- }
608
-
609
- // ! Overload CustomPassField to serialize objects that have CustomPassMessage
610
- // ! overloads. Defining a CustomPassMessage overload is simpler than defining a
611
- // ! CustomPassField overload because it only requires defining a normal
612
- // ! function, not a template function, but less flexible.
613
- template <typename Accessor, typename ... LocalTypes, typename ServerContext, typename Fn, typename ... Args>
614
- auto CustomPassField (TypeList<LocalTypes...>, ServerContext& server_context, Fn&& fn, Args&&... args)
615
- -> decltype(CustomPassMessage(server_context, MaybeGet<Accessor>(server_context.call_context.getParams()),
616
- MaybeGet<Accessor>(server_context.call_context.getResults()), nullptr))
617
- {
618
- CustomPassMessage (server_context, MaybeGet<Accessor>(server_context.call_context .getParams ()),
619
- MaybeInit<Accessor>(server_context.call_context .getResults ()),
620
- [&](LocalTypes... param) { fn.invoke (server_context, std::forward<Args>(args)..., param...); });
621
- }
622
-
623
571
template <class Accessor >
624
572
void CustomPassField ();
625
573
0 commit comments