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 <aws/crt/Optional.h>
7#include <smithy/Smithy_EXPORTS.h>
8#include <smithy/client/schema/Schema.h>
37 virtual Aws::Crt::Optional<Aws::Utils::ByteBuffer>
ReadBlob(
const Schema& schema) = 0;
virtual void ReadMap(const Schema &schema, const MapEntryConsumer &consumer)=0
virtual Aws::Crt::Optional< float > ReadFloat(const Schema &schema)=0
virtual void ReadStruct(const Schema &schema, const StructMemberConsumer &consumer)=0
std::function< void(const Aws::String &key, ShapeDeserializer &deserializer)> MapEntryConsumer
virtual Aws::Crt::Optional< int > ReadInteger(const Schema &schema)=0
std::function< void(const Schema &memberSchema, ShapeDeserializer &deserializer)> StructMemberConsumer
std::function< void(ShapeDeserializer &deserializer)> ListElementConsumer
virtual void ReadList(const Schema &schema, const ListElementConsumer &consumer)=0
virtual Aws::Crt::Optional< bool > ReadBoolean(const Schema &schema)=0
virtual Aws::Crt::Optional< Aws::Utils::DateTime > ReadTimestamp(const Schema &schema)=0
virtual Aws::Crt::Optional< Aws::String > ReadString(const Schema &schema)=0
virtual Aws::Crt::Optional< double > ReadDouble(const Schema &schema)=0
virtual ~ShapeDeserializer()=default
virtual Aws::Crt::Optional< Aws::Utils::ByteBuffer > ReadBlob(const Schema &schema)=0
virtual Aws::Crt::Optional< int64_t > ReadLong(const Schema &schema)=0
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String