Bond
 
Loading...
Searching...
No Matches
bond_fwd.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
8#include "detail/tags.h"
9
10#include <boost/utility/enable_if.hpp>
11
12#include <stdint.h>
13
14namespace bond
15{
16
17class blob;
18class InputBuffer;
19class RuntimeSchema;
20
21class ProtocolReader;
22
23template <typename T, typename Reader = ProtocolReader>
24class bonded;
25
26template <typename Reader>
27class bonded<void, Reader>;
28
29template <typename T> struct
30remove_bonded;
31
32template <typename T, typename Reader> struct
33remove_bonded<bonded<T, Reader> >;
34
35template <typename T, typename Reader, typename Enable = void>
36class value;
37
38template <typename Reader>
39class StaticParser;
40
41template <typename Reader>
42class DynamicParser;
43
44template <typename Reader>
45class DOMParser;
46
47template <typename T>
48class RequiredFieldValiadator;
49
50struct BuiltInProtocols;
51
52template <typename T, typename Protocols = BuiltInProtocols, typename Validator = RequiredFieldValiadator<T> >
53class To;
54
55template <typename T, typename Enable = void> struct
56schema_for_passthrough;
57
58template<typename T, typename Enable = void> struct
59get_type_id;
60
61template <typename T> struct
62may_omit_fields;
63
64template <typename Input>
65struct base_input;
66
67struct Metadata;
68
69struct qualified_name_tag;
70
71template <typename Protocols = BuiltInProtocols, typename Transform, typename T, typename boost::enable_if<is_modifying_transform<Transform> >::type* = nullptr>
72bool Apply(const Transform& transform, T& value);
73
74template <typename Protocols = BuiltInProtocols, typename Transform, typename T>
75bool Apply(const Transform& transform, const T& value);
76
77template <typename Protocols = BuiltInProtocols, typename T, typename Writer>
78inline void Marshal(const T& obj, Writer& output);
79
80template <typename Writer, typename Protocols = BuiltInProtocols>
81class Marshaler;
82
83template <typename Protocols = BuiltInProtocols, typename Writer>
84Marshaler<Writer, Protocols> MarshalTo(Writer& output);
85
86template <typename Writer, typename Protocols = BuiltInProtocols>
87class Serializer;
88
89template <typename Protocols = BuiltInProtocols, typename Writer>
90Serializer<Writer, Protocols> SerializeTo(Writer& output);
91
92} // bond
namespace bond
Definition: apply.h:17
void Marshal(const T &obj, Writer &output)
Marshal an object using a protocol writer.
Definition: bond.h:63