6#include <aws/common/common.h>
11#include <aws/io/socket.h>
12#include <aws/mqtt/mqtt.h>
18#include <unordered_map>
23struct aws_byte_cursor;
24struct aws_socket_options;
35 using IStream = std::basic_istream<char, std::char_traits<char>>;
48 template <
typename K,
typename V>
51 template <
typename K,
typename V>
53 template <
typename T>
using Vector = std::vector<T, StlAllocator<T>>;
54 template <
typename T>
using List = std::list<T, StlAllocator<T>>;
78 template <
typename RawType,
typename TargetType>
83 for (
size_t i = 0;
i <
cnt;
i++)
96 template <
typename RawType,
typename TargetType>
101 for (
size_t i = 0;
i <
cnt;
i++)
117 for (
size_t i = 0;
i <
cnt;
i++)
150 return new (
t)
T(std::forward<Args>(
args)...);
158 new (
t)
T(std::forward<Args>(
args)...);
160 return std::shared_ptr<T>(
t, [allocator](
T *
obj) {
Delete(
obj, allocator); });
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition StlAllocator.h:21
Definition StringView.h:33
std::basic_istream< char, std::char_traits< char > > IStream
Definition Types.h:35
aws_mqtt_qos QOS
Definition Types.h:40
aws_mqtt_connect_return_code ReturnCode
Definition Types.h:41
AWS_CRT_CPP_API ByteCursor ByteCursorFromStringView(const Crt::StringView &str) noexcept
Definition Types.cpp:58
AWS_CRT_CPP_API ByteCursor StringViewToByteCursor(const StringView &sv)
Definition Types.h:131
aws_byte_cursor ByteCursor
Definition Types.h:31
AWS_CRT_CPP_API ByteBuf ByteBufNewCopy(Allocator *alloc, const uint8_t *array, size_t len)
Definition Types.cpp:28
std::map< K, V, std::less< K >, StlAllocator< std::pair< const K, V > > > Map
Definition Types.h:47
std::shared_ptr< T > MakeShared(Allocator *allocator, Args &&...args)
Definition Types.h:153
AWS_CRT_CPP_API ByteCursor ByteCursorFromCString(const char *str) noexcept
Definition Types.cpp:48
Vector< TargetType > ArrayListToVector(const aws_array_list *array, TypeConvertor< RawType, TargetType > conv)
Definition Types.h:79
aws_allocator Allocator
Definition Allocator.h:14
T * New(Allocator *allocator, Args &&...args)
Definition Types.h:145
std::basic_stringstream< char, std::char_traits< char >, StlAllocator< char > > StringStream
Definition Types.h:46
AWS_CRT_CPP_API ByteCursor ByteCursorFromArray(const uint8_t *array, size_t len) noexcept
Definition Types.cpp:68
void Delete(T *t, Allocator *allocator)
Definition Types.h:139
std::unordered_map< K, V, std::hash< K >, std::equal_to< K >, StlAllocator< std::pair< const K, V > > > UnorderedMap
Definition Types.h:50
std::list< T, StlAllocator< T > > List
Definition Types.h:54
AWS_CRT_CPP_API ByteBuf ByteBufFromEmptyArray(const uint8_t *array, size_t len) noexcept
Definition Types.cpp:18
std::function< TargetType(RawType)> TypeConvertor
Definition Types.h:72
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
AWS_CRT_CPP_API String Base64Encode(const Vector< uint8_t > &encode) noexcept
Definition Types.cpp:95
AWS_CRT_CPP_API StringView ByteCursorToStringView(const ByteCursor &bc)
Definition Types.h:126
string_view StringView
Definition StringView.h:856
AWS_CRT_CPP_API ByteCursor ByteCursorFromString(const Crt::String &str) noexcept
Definition Types.cpp:53
AWS_CRT_CPP_API ByteBuf ByteBufInit(Allocator *alloc, size_t len)
Definition Types.cpp:36
aws_byte_buf ByteBuf
Definition Types.h:30
std::unique_ptr< T, std::function< void(T *)> > ScopedResource
Definition Types.h:163
AWS_CRT_CPP_API ByteBuf ByteBufFromCString(const char *str) noexcept
Definition Types.cpp:13
AWS_CRT_CPP_API Vector< uint8_t > Base64Decode(const String &decode) noexcept
Definition Types.cpp:73
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
AWS_CRT_CPP_API void ByteBufDelete(ByteBuf &)
Definition Types.cpp:43
AWS_CRT_CPP_API ByteCursor ByteCursorFromByteBuf(const ByteBuf &) noexcept
Definition Types.cpp:63
AWS_CRT_CPP_API ByteBuf ByteBufFromArray(const uint8_t *array, size_t capacity) noexcept
Definition Types.cpp:23
std::multimap< K, V, std::less< K >, StlAllocator< std::pair< const K, V > > > MultiMap
Definition Types.h:52
Definition Allocator.h:11