Makes hint Equatable and Printable for tests

This commit is contained in:
Daniel J. Hofmann 2016-03-15 13:59:19 +01:00 committed by Patrick Niklaus
parent 88a76aaecf
commit 451bbe3021
2 changed files with 16 additions and 1 deletions

View File

@ -34,6 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <string> #include <string>
#include <cstdint> #include <cstdint>
#include <iosfwd>
namespace osrm namespace osrm
{ {
@ -57,6 +58,9 @@ struct Hint
std::string ToBase64() const; std::string ToBase64() const;
static Hint FromBase64(const std::string &base64Hint); static Hint FromBase64(const std::string &base64Hint);
friend bool operator==(const Hint &, const Hint &);
friend std::ostream &operator<<(std::ostream &, const Hint &);
}; };
#ifndef _MSC_VER #ifndef _MSC_VER

View File

@ -6,6 +6,8 @@
#include <iterator> #include <iterator>
#include <algorithm> #include <algorithm>
#include <ostream>
#include <tuple>
namespace osrm namespace osrm
{ {
@ -45,5 +47,14 @@ Hint Hint::FromBase64(const std::string &base64Hint)
return decodeBase64Bytewise<Hint>(encoded); return decodeBase64Bytewise<Hint>(encoded);
} }
bool operator==(const Hint &lhs, const Hint &rhs)
{
return std::tie(lhs.phantom, lhs.data_checksum) ==
std::tie(rhs.phantom, rhs.data_checksum);
} }
}
std::ostream &operator<<(std::ostream &out, const Hint &hint) { return out << hint.ToBase64(); }
} // ns engine
} // ns osrm