Bond
 
Loading...
Searching...
No Matches
select_protocol_extern.h
1// Copyright (c) Microsoft. All rights reserved.
2// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
4#pragma once
5
6#include <bond/core/config.h>
7#include "extern_macro.h"
8
9
10namespace bond
11{
12namespace detail
13{
14
15#define BOND_DETAIL_NextProtocol(Writer) \
16 std::pair<ProtocolType, bool> NextProtocol<BuiltInProtocols>( \
17 const RuntimeSchema&, InputBuffer&, const Serializer<Writer>&);
18
19BOND_DETAIL_EXTERN(BOND_DETAIL_NextProtocol, BOND_DETAIL_BUILTIN_WRITERS)
20
21
22#define BOND_DETAIL_NextProtocol_Null() \
23 std::pair<ProtocolType, bool> NextProtocol<BuiltInProtocols>( \
24 const RuntimeSchema&, InputBuffer&, const Null&);
25
26BOND_DETAIL_PREFIX_EXTERN(BOND_DETAIL_NextProtocol_Null)()
27
28
29#define BOND_DETAIL_NextProtocol_Select(Writer) \
30 bool NextProtocol<BuiltInProtocols>( \
31 const RuntimeSchema&, InputBuffer&, const Serializer<Writer>&, uint16_t);
32
33BOND_DETAIL_EXTERN(BOND_DETAIL_NextProtocol_Select, BOND_DETAIL_BUILTIN_WRITERS)
34
35
36#define BOND_DETAIL_NextProtocol_Select_Null() \
37 bool NextProtocol<BuiltInProtocols>( \
38 const RuntimeSchema&, InputBuffer&, const Null&, uint16_t);
39
40BOND_DETAIL_PREFIX_EXTERN(BOND_DETAIL_NextProtocol_Select_Null)()
41
42
43} // namespace detail
44} // namespace bond
namespace bond
Definition: apply.h:17