AWS SDK for C++

AWS SDK for C++ Version 1.11.835

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/Smithy_EXPORTS.h>
7#include <smithy/client/schema/Schema.h>
8
9#include <cstdint>
10
11namespace smithy {
12namespace schema {
13
14class SMITHY_API ShapeSerializer {
15 public:
16 virtual ~ShapeSerializer() = default;
17
18 virtual bool BeginStructure(const Schema& schema) = 0;
19 virtual void EndStructure() = 0;
20
21 virtual void WriteBoolean(const Schema& schema, bool value) = 0;
22 virtual void WriteInteger(const Schema& schema, int value) = 0;
23 virtual void WriteLong(const Schema& schema, int64_t value) = 0;
24 virtual void WriteDouble(const Schema& schema, double value) = 0;
25 virtual void WriteString(const Schema& schema, const Aws::String& value) = 0;
26 virtual void WriteTimestamp(const Schema& schema, const Aws::Utils::DateTime& value) = 0;
27 virtual void WriteBlob(const Schema& schema, const Aws::Utils::ByteBuffer& value) = 0;
28 virtual void WriteEnum(const Schema& schema, int value) = 0;
29 virtual void WriteNull(const Schema& schema) = 0;
30
31 virtual bool BeginList(const Schema& schema, size_t count) = 0;
32 virtual void EndList() = 0;
33
34 virtual bool BeginMap(const Schema& schema, size_t count) = 0;
35 virtual void WriteMapKey(const Aws::String& key) = 0;
36 virtual void EndMap() = 0;
37
38 virtual bool BeginNestedStructure(const Schema& schema) = 0;
39 virtual void EndNestedStructure() = 0;
40};
41
42} // namespace schema
43} // 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 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 bool BeginList(const Schema &schema, size_t count)=0
virtual bool BeginNestedStructure(const Schema &schema)=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 bool BeginMap(const Schema &schema, size_t count)=0
virtual void WriteNull(const Schema &schema)=0
virtual bool BeginStructure(const Schema &schema)=0
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97