diff --git a/CMakeLists.txt b/CMakeLists.txt index b6742f0..ab398cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,7 @@ cmake_minimum_required (VERSION 2.8.11) project (cpp-jwt) +#SET (CMAKE_CXX_COMPILER /usr/local/bin/g++) SET( CMAKE_CXX_FLAGS "-std=c++14" ) include_directories (include) diff --git a/include/jwt/algorithm.hpp b/include/jwt/algorithm.hpp index 799178b..83c8ee9 100644 --- a/include/jwt/algorithm.hpp +++ b/include/jwt/algorithm.hpp @@ -31,6 +31,7 @@ SOFTWARE. */ #include +#include #include #include diff --git a/include/jwt/impl/jwt.ipp b/include/jwt/impl/jwt.ipp index ce5744c..0ba78a1 100644 --- a/include/jwt/impl/jwt.ipp +++ b/include/jwt/impl/jwt.ipp @@ -52,9 +52,7 @@ std::ostream& write(std::ostream& os, const T& obj, bool pretty) } -template {}>::type> +template std::ostream& operator<< (std::ostream& os, const T& obj) { os << obj.create_json_obj(); @@ -344,16 +342,6 @@ void jwt_object::set_parameters() return; } -template >::value> - > -jwt_object& jwt_object::add_claim(const jwt::string_view name, T&& value) -{ - payload_.add_claim(name, std::forward(value)); - return *this; -} - jwt_object& jwt_object::add_claim(const jwt::string_view name, system_time_t tp) { return add_claim( @@ -406,9 +394,9 @@ std::error_code jwt_object::verify( //is any of the one expected by the client. auto fitr = std::find_if(algos.get().begin(), algos.get().end(), - [&](const auto& elem) + [this](const auto& elem) { - return jwt::str_to_alg(elem) == header().algo(); + return jwt::str_to_alg(elem) == this->header().algo(); }); if (fitr == algos.get().end()) { diff --git a/include/jwt/jwt.hpp b/include/jwt/jwt.hpp index 4247d2e..2e4e527 100644 --- a/include/jwt/jwt.hpp +++ b/include/jwt/jwt.hpp @@ -177,6 +177,12 @@ std::string to_json_str(const T& obj, bool pretty=false); template std::ostream& write(std::ostream& os, const T& obj, bool pretty=false); +template {}>::type + > +std::ostream& operator<< (std::ostream& os, const T& obj); + /** * A helper class providing the necessary functionalities @@ -945,8 +951,14 @@ public: // Exposed APIs * Provides the glue interface for adding claim. * @note: See `jwt_payload::add_claim` for more details. */ - template - jwt_object& add_claim(const jwt::string_view name, T&& value); + template >::value>> + jwt_object& add_claim(const jwt::string_view name, T&& value) + { + payload_.add_claim(name, std::forward(value)); + return *this; + } /** * Provides the glue interface for adding claim.