summaryrefslogtreecommitdiff
path: root/discord/snowflake.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-09 23:17:26 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-09 23:17:26 -0400
commit51cf8fd2df3cf7a602d05540627a5ad8af6baa58 (patch)
tree1fac31d47c6e9a211c142f56aec154371544e3f5 /discord/snowflake.cpp
parent5975e85d42a49652bb33de9f5213cb4dd5bf08e0 (diff)
downloadabaddon-portaudio-51cf8fd2df3cf7a602d05540627a5ad8af6baa58.tar.gz
abaddon-portaudio-51cf8fd2df3cf7a602d05540627a5ad8af6baa58.zip
rename and reorder a bunch of discord stuff
Diffstat (limited to 'discord/snowflake.cpp')
-rw-r--r--discord/snowflake.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/discord/snowflake.cpp b/discord/snowflake.cpp
new file mode 100644
index 0000000..1158172
--- /dev/null
+++ b/discord/snowflake.cpp
@@ -0,0 +1,31 @@
+#include "snowflake.hpp"
+
+Snowflake::Snowflake()
+ : m_num(Invalid) {}
+
+Snowflake::Snowflake(const Snowflake &s)
+ : m_num(s.m_num) {}
+
+Snowflake::Snowflake(uint64_t n)
+ : m_num(n) {}
+
+Snowflake::Snowflake(const std::string &str) {
+ if (str.size())
+ m_num = std::stoull(str);
+ else
+ m_num = Invalid;
+};
+
+bool Snowflake::IsValid() const {
+ return m_num != Invalid;
+}
+
+void from_json(const nlohmann::json &j, Snowflake &s) {
+ std::string tmp;
+ j.get_to(tmp);
+ s.m_num = std::stoull(tmp);
+}
+
+void to_json(nlohmann::json &j, const Snowflake &s) {
+ j = std::to_string(s);
+}