Skip to content

Commit

Permalink
added move ctor and assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
obiltschnig committed Jan 10, 2020
1 parent b55db12 commit aee64d6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
6 changes: 6 additions & 0 deletions JWT/include/Poco/JWT/Token.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,18 @@ class JWT_API Token
Token(const Token& token);
/// Creates a JSON Web Token by copying another one.

Token(Token&& token) noexcept;
/// Creates a JSON Web Token by moving another one.

~Token();
/// Destroys the Token.

Token& operator = (const Token& token);
/// Assignment operator.

Token& operator = (Token&& token) noexcept;
/// Move assignment operator.

Token& operator = (const std::string& token);
/// Parses and assigns serialized JWT.

Expand Down
18 changes: 18 additions & 0 deletions JWT/src/Token.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ Token::Token(const Token& token):
}


Token::Token(Token&& token) noexcept:
_pHeader(std::move(token._pHeader)),
_pPayload(std::move(token._pPayload)),
_signature(std::move(token._signature))
{
}


Token::Token(const std::string& header, const std::string& payload, const std::string& signature)
{
assign(header, payload, signature);
Expand Down Expand Up @@ -86,6 +94,16 @@ Token& Token::operator = (const Token& token)
}


Token& Token::operator = (Token&& token) noexcept
{
_pHeader = std::move(token._pHeader);
_pPayload = std::move(token._pPayload);
_signature = std::move(token._signature);

return *this;
}


Token& Token::operator = (const std::string& token)
{
std::vector<std::string> parts = Serializer::split(token);
Expand Down

0 comments on commit aee64d6

Please sign in to comment.