32#include "pw_preprocessor/util.h"
33#include "pw_tokenizer/config.h"
34#include "pw_tokenizer/nested_tokenization.h"
47 size_t binary_size_bytes,
49 size_t output_buffer_size_bytes);
59 size_t base64_size_bytes,
61 size_t output_buffer_size);
71#include "pw_base64/base64.h"
72#include "pw_span/span.h"
73#include "pw_tokenizer/config.h"
74#include "pw_tokenizer/tokenize.h"
76namespace pw::tokenizer {
100 binary_message.size(),
101 output_buffer.data(),
102 output_buffer.size());
125template <
size_t kMaxBinaryMessageSizeBytes>
127 static_assert(kMaxBinaryMessageSizeBytes >= 1,
"Messages cannot be empty");
129 1, PW_TOKENIZER_NESTED_PREFIX);
134template <
size_t kMaxBinaryMessageSizeBytes>
136 return PrefixedBase64Encode<kMaxBinaryMessageSizeBytes>(
137 as_bytes(binary_message));
146 base64_message.size(),
147 output_buffer.data(),
148 output_buffer.size());
155 buffer.data(), buffer.size(), buffer.data(), buffer.size());
164template <
typename CharT>
166 static_assert(
sizeof(CharT) ==
sizeof(
char));
168 string.data(),
string.size(),
string.data(),
string.size()));
pw::InlineBasicString is a fixed-capacity version of std::basic_string. In brief:
Definition: string.h:68
Definition: span_impl.h:235
constexpr size_t EncodedSize(size_t binary_size_bytes)
Definition: base64.h:89
void Encode(span< const std::byte > binary, char *output)
Definition: base64.h:109
constexpr size_t Base64EncodedStringSize(size_t message_size)
Definition: base64.h:83
constexpr size_t Base64EncodedBufferSize(size_t message_size)
Definition: base64.h:89
size_t pw_tokenizer_PrefixedBase64Encode(const void *binary_message, size_t binary_size_bytes, void *output_buffer, size_t output_buffer_size_bytes)
size_t PrefixedBase64Decode(std::string_view base64_message, span< std::byte > output_buffer)
Definition: base64.h:143
size_t pw_tokenizer_PrefixedBase64Decode(const void *base64_message, size_t base64_size_bytes, void *output_buffer, size_t output_buffer_size)
size_t PrefixedBase64DecodeInPlace(span< std::byte > buffer)
Definition: base64.h:153
size_t PrefixedBase64Encode(span< const std::byte > binary_message, span< char > output_buffer)
Definition: base64.h:97