AWS SDK for C++

AWS SDK for C++ Version 1.11.824

Loading...
Searching...
No Matches
ShapeSerializer.h
1#pragma once
2
3#include <aws/core/utils/Array.h>
4#include <aws/core/utils/DateTime.h>
5#include <aws/core/utils/memory/stl/AWSString.h>
6#include <smithy/client/schema/Schema.h>
7
8#include <cstdint>
9
10namespace smithy {
11namespace schema {
12
14 public:
15 virtual ~ShapeSerializer() = default;
16
17 virtual void BeginStructure(const Schema& schema) = 0;
18 virtual void EndStructure() = 0;
19
20 virtual void WriteBoolean(const Schema& schema, bool value) = 0;
21 virtual void WriteInteger(const Schema& schema, int value) = 0;
22 virtual void WriteLong(const Schema& schema, int64_t value) = 0;
23 virtual void WriteDouble(const Schema& schema, double value) = 0;
24 virtual void WriteString(const Schema& schema, const Aws::String& value) = 0;
25 virtual void WriteTimestamp(const Schema& schema, const Aws::Utils::DateTime& value) = 0;
26 virtual void WriteBlob(const Schema& schema, const Aws::Utils::ByteBuffer& value) = 0;
27 virtual void WriteEnum(const Schema& schema, int value) = 0;
28 virtual void WriteNull(const Schema& schema) = 0;
29
30 virtual void BeginList(const Schema& schema, size_t count) = 0;
31 virtual void EndList() = 0;
32
33 virtual void BeginMap(const Schema& schema, size_t count) = 0;
34 virtual void WriteMapKey(const Aws::String& key) = 0;
35 virtual void EndMap() = 0;
36
37 virtual void BeginNestedStructure(const Schema& schema) = 0;
38 virtual void EndNestedStructure() = 0;
39};
40
41} // namespace schema
42} // namespace smithy
virtual void WriteBoolean(const Schema &schema, bool value)=0
virtual void WriteBlob(const Schema &schema, const Aws::Utils::ByteBuffer &value)=0
virtual void BeginStructure(const Schema &schema)=0
virtual void WriteInteger(const Schema &schema, int value)=0
virtual void WriteMapKey(const Aws::String &key)=0
virtual void WriteEnum(const Schema &schema, int value)=0
virtual void WriteString(const Schema &schema, const Aws::String &value)=0
virtual void WriteLong(const Schema &schema, int64_t value)=0
virtual void EndNestedStructure()=0
virtual ~ShapeSerializer()=default
virtual void WriteDouble(const Schema &schema, double value)=0
virtual void WriteTimestamp(const Schema &schema, const Aws::Utils::DateTime &value)=0
virtual void BeginList(const Schema &schema, size_t count)=0
virtual void WriteNull(const Schema &schema)=0
virtual void BeginNestedStructure(const Schema &schema)=0
virtual void BeginMap(const Schema &schema, size_t count)=0
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97