12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef REALM_UTIL_BASE64_HPP
- #define REALM_UTIL_BASE64_HPP
- #include <vector>
- #include <realm/string_data.hpp>
- #include <realm/util/optional.hpp>
- namespace realm {
- namespace util {
- size_t base64_encode(const char *in_buffer, size_t in_buffer_size, char* out_buffer, size_t out_buffer_size) noexcept;
- inline size_t base64_encoded_size(size_t in_buffer_size) noexcept
- {
- return 4 * ((in_buffer_size + 2) / 3);
- }
- Optional<size_t> base64_decode(StringData input, char* out_buffer, size_t out_buffer_len) noexcept;
- inline size_t base64_decoded_size(size_t base64_size) noexcept
- {
- return (base64_size * 3 + 3) / 4;
- }
- Optional<std::vector<char>> base64_decode_to_vector(StringData encoded);
- }
- }
- #endif
|