diff options
author | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-06-01 07:57:07 -0700 |
---|---|---|
committer | Jürgen Gehring <juergen.gehring@bmw.de> | 2015-06-01 07:57:07 -0700 |
commit | 54982071a99484488207ad3bd5e9391a15bffe02 (patch) | |
tree | 479c178ee629947cf0df65fc0e38f986f6ccdbc9 /include/CommonAPI/DBus/DBusFunctionalHash.hpp | |
parent | 45a6f65628a142bb8d37a3b72cb210b1f8c24a5f (diff) | |
download | genivi-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.hpp | 81 |
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_ |