summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2017-02-17 17:15:41 (GMT)
committerTobias Markmann <tm@ayena.de>2017-02-22 10:54:22 (GMT)
commiteea861301be0bf3e3f5db6cfc3cada38d133fef2 (patch)
tree3c2aa07ce3724a73ce2124832bee6b8c7884c9df /Swiften/Base/LogSerializers.cpp
parent80801aaeba2d29e3a375a01d782cf081e778dfaf (diff)
downloadswift-eea861301be0bf3e3f5db6cfc3cada38d133fef2.zip
swift-eea861301be0bf3e3f5db6cfc3cada38d133fef2.tar.bz2
Add LRUCache utility class to Swiften
This implements a simple lookup cache with least recently used replacement strategy. This also adds Boost.MultiIndex from version 1.56 to 3rdParty. Test-Information: Added some unit tests for LRUCache, which pass on macOS 10.12.3 with clang-5.0 Change-Id: I0567945b1197d3fe786bf9d82fdb5e755743b975
Diffstat (limited to 'Swiften/Base/LogSerializers.cpp')
-rw-r--r--Swiften/Base/LogSerializers.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/Swiften/Base/LogSerializers.cpp b/Swiften/Base/LogSerializers.cpp
index ccc8437..5ac1e15 100644
--- a/Swiften/Base/LogSerializers.cpp
+++ b/Swiften/Base/LogSerializers.cpp
@@ -39,30 +39,40 @@ std::ostream& operator<<(std::ostream& stream, const Presence& presence) {
break;
}
std::string showTypeString;
switch (presence.getShow()) {
case StatusShow::Online:
showTypeString = "Online";
break;
case StatusShow::Away:
showTypeString = "Away";
break;
case StatusShow::FFC:
showTypeString = "FFC";
break;
case StatusShow::DND:
showTypeString = "DND";
break;
case StatusShow::XA:
showTypeString = "XA";
break;
case StatusShow::None:
showTypeString = "None";
break;
}
stream << "Presence(" << "from: " << presence.getFrom() << ", to: " << presence.getTo() << ", type: " << typeString << ", status: " << showTypeString << ", priority: " << presence.getPriority() << ", '" << presence.getStatus() << "'" << " )";
return stream;
}
};
+
+::std::ostream& operator<<(::std::ostream& os, const boost::optional<std::string>& optStr) {
+ if (optStr.is_initialized()) {
+ return os << "boost::optional<std::string>(\"" << optStr.get() << "\")";
+ }
+ else {
+ return os << "boost::optional<std::string>()";
+ }
+}
+