summaryrefslogtreecommitdiff
path: root/ext/librethinkdbxx/src/utils.h
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-11-02 07:05:11 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-11-02 07:05:11 -0700
commit4e88c80a22b6ca982341413ee806ade0df57b4b7 (patch)
tree82c2daaac597f74595bc83c18646280a56898e1a /ext/librethinkdbxx/src/utils.h
parenta6203ed0389c1b995ebe94935b2d1ddeb01f36ee (diff)
downloadinfinitytier-4e88c80a22b6ca982341413ee806ade0df57b4b7.tar.gz
infinitytier-4e88c80a22b6ca982341413ee806ade0df57b4b7.zip
RethinkDB native connector work, minor fixes.
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*);
+
+}