Guitar
base64.h
Go to the documentation of this file.
1 
2 #ifndef BASE64_H_
3 #define BASE64_H_
4 
5 #include <vector>
6 #include <string>
7 
8 void base64_encode(char const *src, size_t length, std::vector<char> *out);
9 void base64_decode(char const *src, size_t length, std::vector<char> *out);
10 void base64_encode(std::vector<char> const *src, std::vector<char> *out);
11 void base64_decode(std::vector<char> const *src, std::vector<char> *out);
12 void base64_encode(char const *src, std::vector<char> *out);
13 void base64_decode(char const *src, std::vector<char> *out);
14 static inline std::string to_s_(std::vector<char> const *vec)
15 {
16  if (!vec || vec->empty()) return std::string();
17  return std::string((char const *)&(*vec)[0], vec->size());
18 }
19 static inline std::string base64_encode(std::string const &src)
20 {
21  std::vector<char> vec;
22  base64_encode((char const *)src.c_str(), src.size(), &vec);
23  return to_s_(&vec);
24 }
25 static inline std::string base64_decode(std::string const &src)
26 {
27  std::vector<char> vec;
28  base64_decode((char const *)src.c_str(), src.size(), &vec);
29  return to_s_(&vec);
30 }
31 
32 #endif
33 
void base64_decode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:67
void base64_encode(char const *src, size_t length, std::vector< char > *out)
Definition: base64.cpp:35
static std::string to_s_(std::vector< char > const *vec)
Definition: base64.h:14