Bond
 
Loading...
Searching...
No Matches
typeid_value_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_BasicTypeField(Reader, Writer) \
16 bool BasicTypeField(uint16_t, const Metadata&, BondDataType, const Serializer<Writer>&, Reader&);
17
18BOND_DETAIL_EXTERN(BOND_DETAIL_BasicTypeField, BOND_DETAIL_BUILTIN_READERS_WRITERS)
19
20
21#define BOND_DETAIL_BasicTypeField_Null(Reader) \
22 bool BasicTypeField(uint16_t, const Metadata&, BondDataType, const Null&, Reader&);
23
24BOND_DETAIL_EXTERN(BOND_DETAIL_BasicTypeField_Null, BOND_DETAIL_BUILTIN_READERS)
25
26
27#define BOND_DETAIL_BasicTypeContainer(Reader, Writer) \
28 void BasicTypeContainer<BuiltInProtocols>(const Serializer<Writer>&, BondDataType, Reader&, uint32_t);
29
30BOND_DETAIL_EXTERN(BOND_DETAIL_BasicTypeContainer, BOND_DETAIL_BUILTIN_READERS_WRITERS)
31
32
33#define BOND_DETAIL_MapByKey(Reader, Writer, T) \
34 void MapByKey<BuiltInProtocols>( \
35 const Serializer<Writer>&, BondDataType, const value<T, Reader&>&, Reader&, uint32_t);
36
37BOND_DETAIL_EXTERN(BOND_DETAIL_MapByKey, BOND_DETAIL_BUILTIN_READERS_WRITERS_BASIC_TYPES)
38
39
40#define BOND_DETAIL_MapByElement(Reader, Writer) \
41 void MapByElement<BuiltInProtocols>(const Serializer<Writer>&, BondDataType, BondDataType, Reader&, uint32_t);
42
43BOND_DETAIL_EXTERN(BOND_DETAIL_MapByElement, BOND_DETAIL_BUILTIN_READERS_WRITERS)
44
45
46} // namespace detail
47} // namespace bond
namespace bond
Definition: apply.h:17