summaryrefslogtreecommitdiff
path: root/include/CommonAPI/Variant.hpp
diff options
context:
space:
mode:
authorLutz Bichler <Lutz.Bichler@bmw.de>2015-06-17 11:29:46 +0200
committerLutz Bichler <Lutz.Bichler@bmw.de>2015-06-17 11:29:46 +0200
commitc52b2b094ef5844c182f097b14923764758dfe80 (patch)
treef4e0446c1f8411dca5336884e2bc10a820ef8722 /include/CommonAPI/Variant.hpp
parent6c463fcc3dcee619925f08ea09e19a86b9e581cc (diff)
downloadgenivi-common-api-runtime-c52b2b094ef5844c182f097b14923764758dfe80.tar.gz
CommonAPI 3.1.2
Diffstat (limited to 'include/CommonAPI/Variant.hpp')
-rw-r--r--include/CommonAPI/Variant.hpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/CommonAPI/Variant.hpp b/include/CommonAPI/Variant.hpp
index d7b1088..7af1b81 100644
--- a/include/CommonAPI/Variant.hpp
+++ b/include/CommonAPI/Variant.hpp
@@ -516,6 +516,27 @@ struct TypeSelector<_Type> {
};
template<typename _Type, typename... _Types>
+struct TypeSelector<typename _Type::Literal, _Type, _Types...> {
+ typedef _Type type;
+};
+
+template<typename _Type, typename... _Types>
+struct TypeSelector<typename _Type::Literal &, _Type, _Types...> {
+ typedef _Type type;
+};
+
+
+template<typename _Type, typename... _Types>
+struct TypeSelector<typename _Type::Literal, const _Type&, _Types...> {
+ typedef _Type type;
+};
+
+template<typename _Type, typename... _Types>
+struct TypeSelector<const typename _Type::Literal &, _Type, _Types...> {
+ typedef _Type type;
+};
+
+template<typename _Type, typename... _Types>
struct TypeSelector<_Type, _Type, _Types...> {
typedef _Type type;
};