AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
CRC32.h
1
6/*
7* Interface for CRC32 and CRC32C
8*/
9#pragma once
10
11#ifdef __APPLE__
12
13#ifdef __clang__
14#pragma clang diagnostic ignored "-Wdeprecated-declarations"
15#endif // __clang__
16
17#ifdef __GNUC__
18#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
19#endif // __GNUC__
20
21#endif // __APPLE__
22
23#include <aws/core/Core_EXPORTS.h>
24
25#include <aws/core/utils/crypto/CRC.h>
26#include <aws/core/utils/crypto/Hash.h>
27#include <aws/crt/checksum/CRC.h>
28
29namespace Aws
30{
31 namespace Utils
32 {
33 namespace Crypto
34 {
38 class AWS_CORE_API CRC32 : public Hash
39 {
40 public:
45 virtual ~CRC32();
46
50 virtual HashResult Calculate(const Aws::String& str) override;
51
55 virtual HashResult Calculate(Aws::IStream& stream) override;
56
60 virtual void Update(unsigned char* buffer, size_t bufferSize) override;
61
65 virtual HashResult GetHash() override;
66 private:
67
68 std::shared_ptr< Hash > m_hashImpl;
69 };
70
74 class AWS_CORE_API CRC32C : public Hash
75 {
76 public:
81 virtual ~CRC32C();
82
86 virtual HashResult Calculate(const Aws::String& str) override;
87
91 virtual HashResult Calculate(Aws::IStream& stream) override;
92
96 virtual void Update(unsigned char* buffer, size_t bufferSize) override;
97
101 virtual HashResult GetHash() override;
102
103 private:
104
105 std::shared_ptr< Hash > m_hashImpl;
106 };
107
108 using CRC32Impl =
109 CRCChecksum<uint32_t, Aws::Crt::Checksum::ComputeCRC32,
110 ConvertToBuffer<uint32_t>>;
111
113 CRCChecksum<uint32_t, Aws::Crt::Checksum::ComputeCRC32C,
114 ConvertToBuffer<uint32_t>>;
115 } // namespace Crypto
116 } // namespace Utils
117} // namespace Aws
118
virtual HashResult Calculate(const Aws::String &str) override
virtual HashResult GetHash() override
virtual HashResult Calculate(Aws::IStream &stream) override
virtual void Update(unsigned char *buffer, size_t bufferSize) override
virtual HashResult Calculate(const Aws::String &str) override
virtual HashResult GetHash() override
virtual void Update(unsigned char *buffer, size_t bufferSize) override
virtual HashResult Calculate(Aws::IStream &stream) override
std::basic_istream< char, std::char_traits< char > > IStream
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition AWSString.h:97