summaryrefslogtreecommitdiff
path: root/include/CommonAPI/DBus/DBusFunctionalHash.hpp
diff options
context:
space:
mode:
authorJürgen Gehring <juergen.gehring@bmw.de>2015-06-01 07:57:07 -0700
committerJürgen Gehring <juergen.gehring@bmw.de>2015-06-01 07:57:07 -0700
commit54982071a99484488207ad3bd5e9391a15bffe02 (patch)
tree479c178ee629947cf0df65fc0e38f986f6ccdbc9 /include/CommonAPI/DBus/DBusFunctionalHash.hpp
parent45a6f65628a142bb8d37a3b72cb210b1f8c24a5f (diff)
downloadgenivi-common-api-dbus-runtime-54982071a99484488207ad3bd5e9391a15bffe02.tar.gz
CommonAPI-D-Bus 3.1.13.1.1
Diffstat (limited to 'include/CommonAPI/DBus/DBusFunctionalHash.hpp')
-rw-r--r--include/CommonAPI/DBus/DBusFunctionalHash.hpp81
1 files changed, 81 insertions, 0 deletions
diff --git a/include/CommonAPI/DBus/DBusFunctionalHash.hpp b/include/CommonAPI/DBus/DBusFunctionalHash.hpp
new file mode 100644
index 0000000..78848c7
--- /dev/null
+++ b/include/CommonAPI/DBus/DBusFunctionalHash.hpp
@@ -0,0 +1,81 @@
+// Copyright (C) 2013-2015 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#if !defined (COMMONAPI_INTERNAL_COMPILATION)
+#error "Only <CommonAPI/CommonAPI.hpp> can be included directly, this file may disappear or change contents."
+#endif
+
+#ifndef COMMONAPI_DBUS_DBUS_FUNCTIONAL_HASH_HPP_
+#define COMMONAPI_DBUS_DBUS_FUNCTIONAL_HASH_HPP_
+
+#include <functional>
+#include <string>
+#include <tuple>
+
+#include <CommonAPI/Export.hpp>
+
+namespace std {
+
+template<>
+struct COMMONAPI_EXPORT hash<pair<const char*, const char*> >
+ : public unary_function<pair<const char*, const char*>, size_t> {
+
+ size_t operator()(const pair<const char*, const char*>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<const char*>
+ : public unary_function<const char*, size_t> {
+
+ size_t operator()(const char* const t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<pair<string, string> >
+ : public unary_function<pair<string, string>, size_t> {
+
+ size_t operator()(const pair<string, string>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<tuple<string, string, string> >
+ : public unary_function<tuple<string, string, string>, size_t> {
+
+ size_t operator()(const tuple<string, string, string>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<tuple<string, string, string, bool> >
+ : public unary_function<tuple<string, string, string, bool>, size_t> {
+
+ size_t operator()(const tuple<string, string, string, bool>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<tuple<string, string, string, int> >
+ : public unary_function<tuple<string, string, string, int>, size_t> {
+
+ size_t operator()(const tuple<string, string, string, int>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT hash<tuple<string, string, string, string> >
+ : public std::unary_function<tuple<string, string, string, string>, size_t> {
+
+ size_t operator()(const tuple<string, string, string, string>& t) const;
+};
+
+template<>
+struct COMMONAPI_EXPORT equal_to<pair<const char*, const char*> >
+ : public binary_function<pair<const char*, const char*>,
+ pair<const char*, const char*>,
+ bool> {
+
+ bool operator()(const pair<const char*, const char*>& a, const pair<const char*, const char*>& b) const;
+};
+
+} // namespace std
+
+#endif // COMMONAPI_DBUS_DBUS_FUNCTIONAL_HASH_HPP_