From 5fa7887fb15e4cf99d1b03454befd79d46ae7f65 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 2 Mar 2019 20:21:31 +0100 Subject: [PATCH] Added operator overloads to return_entity and return_entity_vector --- src/easy/easy.cpp | 21 +++++++++++++++++++++ src/easy/easy.hpp | 7 +++++++ 2 files changed, 28 insertions(+) diff --git a/src/easy/easy.cpp b/src/easy/easy.cpp index 69c7ad8..fd988c3 100644 --- a/src/easy/easy.cpp +++ b/src/easy/easy.cpp @@ -36,6 +36,22 @@ return_entity::return_entity(const uint8_t ec, const string &em, error_message = em; } +return_entity::operator const Easy::GenericEntity() const +{ + return entity; +} + +return_entity::operator const string() const +{ + return entity.to_string(); +} + +std::ostream &operator <<(std::ostream &out, const return_entity &ret) +{ + out << ret.entity.to_string(); + return out; +} + return_entity_vector::return_entity_vector() : entities() {} @@ -48,6 +64,11 @@ return_entity_vector::return_entity_vector(const uint8_t ec, const string &em, error_message = em; } +return_entity_vector::operator const vector() const +{ + return entities; +} + Easy::Easy(const string &instance, const string &access_token) : API(instance, access_token) {} diff --git a/src/easy/easy.hpp b/src/easy/easy.hpp index 0962401..0cd1165 100644 --- a/src/easy/easy.hpp +++ b/src/easy/easy.hpp @@ -23,6 +23,7 @@ #include #include #include +#include #include // If we are compiling mastodon-cpp, use another include path @@ -548,6 +549,10 @@ typedef struct return_entity : return_base return_entity(); return_entity(const uint8_t ec, const string &em, const Easy::GenericEntity &ent); + + operator const Easy::GenericEntity() const; + operator const string() const; + friend std::ostream &operator <<(std::ostream &out, const return_entity &ret); } return_entity; /*! @@ -561,6 +566,8 @@ typedef struct return_entity_vector : return_base return_entity_vector(); return_entity_vector(const uint8_t ec, const string &em, const vector &vec); + + operator const vector() const; } return_entity_vector; }