summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/src/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/librethinkdbxx/src/utils.h')
-rw-r--r--ext/librethinkdbxx/src/utils.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/librethinkdbxx/src/utils.h b/ext/librethinkdbxx/src/utils.h
new file mode 100644
index 00000000..04496e2c
--- /dev/null
+++ b/ext/librethinkdbxx/src/utils.h
@@ -0,0 +1,19 @@
+#pragma once
+
+#include <cstddef>
+#include <string>
+
+namespace RethinkDB {
+
+// The size of the longest UTF-8 encoded unicode codepoint
+const size_t max_utf8_encoded_size = 6;
+
+// Decode a base64 string. Returns false on failure.
+bool base64_decode(const std::string& in, std::string& out);
+std::string base64_encode(const std::string&);
+
+// Encodes a single unicode codepoint into UTF-8. Returns the number of bytes written.
+// Does not add a trailing null byte
+size_t utf8_encode(unsigned int, char*);
+
+}