OGLplus  (0.59.0) a C++ wrapper for rendering APIs

base64dump.hpp
Go to the documentation of this file.
1 
9 #ifndef EAGINE_BASE64DUMP_HPP
10 #define EAGINE_BASE64DUMP_HPP
11 
12 #include "base64.hpp"
13 #include "callable_ref.hpp"
14 #include "memory/block.hpp"
15 
16 namespace eagine {
17 //------------------------------------------------------------------------------
25 class base64dump {
26 public:
29  : _mb{mb} {}
30 
32  friend auto operator<<(std::ostream& out, const base64dump& src)
33  -> std::ostream& {
34  span_size_t i = 0;
35  do_dissolve_bits(
36  make_span_getter(i, src._mb),
37  [&out](byte b) {
38  if(auto opt_c = make_base64_encode_transform()(b)) {
39  out << extract(opt_c);
40  return true;
41  }
42  return false;
43  },
44  6);
45  return out;
46  }
47 
48 private:
50 };
51 //------------------------------------------------------------------------------
52 } // namespace eagine
53 #endif // EAGINE_BASE64DUMP_HPP
std::ptrdiff_t span_size_t
Signed span size type used by eagine.
Definition: types.hpp:36
Class for encoding byte blocks into base64 format.
Definition: base64dump.hpp:25
Common code is placed in this namespace.
Definition: eagine.hpp:21
basic_block< true > const_block
Alias for const byte memory span.
Definition: block.hpp:32
base64dump(memory::const_block mb) noexcept
Construction initializing the dumped memory block.
Definition: base64dump.hpp:28
Non-owning view of a contiguous range of memory with ValueType elements.
Definition: flatten_fwd.hpp:16
friend auto operator<<(std::ostream &out, const base64dump &src) -> std::ostream &
Operator for writing instances of base64dump to standard output streams.
Definition: base64dump.hpp:32

Copyright © 2015-2021 Matúš Chochlík.
<chochlik -at -gmail.com>
Documentation generated on Tue Apr 13 2021 by Doxygen (version 1.8.17).