rapidyaml 0.15.2
parse and emit YAML, and do it fast
Loading...
Searching...
No Matches
format_base64.hpp File Reference

Utilities for formatting data as base64. More...

#include "c4/substr.hpp"
#include "c4/blob.hpp"
#include "c4/base64.hpp"

Go to the source code of this file.

Namespaces

namespace  c4
namespace  c4::fmt

Typedefs

using c4::fmt::const_base64_wrapper = detail::base64_wrapper_<cbyte>
 a tag type to mark a payload to be encoded as base64
using c4::fmt::base64_wrapper = detail::base64_wrapper_<byte>
 a tag type to mark a payload to be decoded as base64
template<class Container>
using c4::fmt::const_base64_container_wrapper = detail::base64_container_wrapper_<const Container, cbyte>
 a tag type to mark a payload as base64-encoded
template<class Container>
using c4::fmt::base64_container_wrapper = detail::base64_container_wrapper_<Container, byte>
 a tag type to mark a payload to be encoded as base64

Functions

const_base64_wrapper c4::fmt::cbase64 (csubstr s, size_t *reqsize=nullptr)
 a tag function to mark a csubstr payload to be encoded in base64 format
const_base64_wrapper c4::fmt::base64 (csubstr s, size_t *reqsize=nullptr)
 a tag function to mark a csubstr payload to be encoded in base64 format
base64_wrapper c4::fmt::base64 (substr s, size_t *reqsize=nullptr)
 a tag function to mark a variable to be decoded from base64
template<class T>
const_base64_wrapper c4::fmt::cbase64 (T const *arg, size_t sz, size_t *reqsize=nullptr)
 a tag function to mark a payload to be encoded in base64 format
template<class T>
auto c4::fmt::base64 (T *arg, size_t sz, size_t *reqsize=nullptr) -> typename std::conditional< std::is_const< typename std::remove_reference< typename std::remove_pointer< T >::type >::type >::value, const_base64_wrapper, base64_wrapper >::type
 a tag function to mark a payload to be encoded in base64 format
template<class T>
auto c4::fmt::cbase64 (T const &arg, size_t *reqsize=nullptr) -> typename std::enable_if< ! detail::has_resize< T >::value, const_base64_wrapper >::type
 a tag function to mark a payload to be encoded in base64 format
template<class T>
auto c4::fmt::base64 (T &arg, size_t *reqsize=nullptr) -> typename std::enable_if< ! detail::has_resize< T >::value, typename std::conditional< std::is_const< typename std::remove_reference< typename std::remove_pointer< T >::type >::type >::value, const_base64_wrapper, base64_wrapper >::type >::type
 a tag function to mark a payload to be encoded or decoded in base64 format
template<class T>
auto c4::fmt::cbase64 (T const &arg, size_t *reqsize=nullptr) -> typename std::enable_if< detail::has_resize< T >::value, const_base64_container_wrapper< T > >::type
 a tag function to mark a container (payload with a .resize() method) to be encoded in base64 format.
template<class T>
auto c4::fmt::base64 (T &arg, size_t *reqsize=nullptr) -> typename std::enable_if< detail::has_resize< T >::value, typename std::conditional< std::is_const< typename std::remove_reference< typename std::remove_pointer< T >::type >::type >::value, const_base64_container_wrapper< T >, base64_container_wrapper< T > >::type >::type
 a tag function to mark a container (payload with a .resize() method) to be encoded or decoded in base64 format.
bool c4::from_chars (csubstr buf, fmt::base64_wrapper const &b)
 (1) read a variable in base64 format
bool c4::from_chars (csubstr buf, fmt::base64_wrapper *b)
 (2) read a variable in base64 format
template<typename CharOrConstChar>
size_t c4::to_chars (substr buf, fmt::detail::base64_wrapper_< CharOrConstChar > const &b)
 write a variable or buffer in base64 format
template<class Container, typename CharOrConstChar>
size_t c4::to_chars (substr buf, fmt::detail::base64_container_wrapper_< Container, CharOrConstChar > const &b)
 write a container in base64 format
template<class T>
bool c4::from_chars (csubstr buf, fmt::base64_container_wrapper< T > const &b)
 read a container in base64 format, resizing it as needed to accomodate the result
template<class T>
bool c4::from_chars (csubstr buf, fmt::base64_container_wrapper< T > const *b)
 read a container in base64 format, resizing it as needed to accomodate the result

Detailed Description

Utilities for formatting data as base64.

Definition in file format_base64.hpp.