diff --git a/src/lib/meta/value-type-binding.hpp b/src/lib/meta/value-type-binding.hpp index a5ff19662..0d5a0c070 100644 --- a/src/lib/meta/value-type-binding.hpp +++ b/src/lib/meta/value-type-binding.hpp @@ -40,6 +40,8 @@ #include "lib/error.hpp" +#include "lib/meta/duck-detector.hpp" ////////TODO +#include "lib/meta/util.hpp" ////////TODO @@ -51,6 +53,8 @@ namespace std { namespace lib { namespace meta { + META_DETECT_NESTED (value_type); + /** * Type re-binding helper template for creating nested typedefs * for use by IterAdapter or similar "Lumiera Forward Iterators". @@ -104,7 +108,7 @@ namespace meta { * STL style type binding definitions themselves */ template - struct TypeBinding + struct TypeBinding> > { typedef typename TY::pointer pointer; typedef typename TY::reference reference; diff --git a/tests/library/meta/value-type-binding-test.cpp b/tests/library/meta/value-type-binding-test.cpp index 6f3b4a679..782918354 100644 --- a/tests/library/meta/value-type-binding-test.cpp +++ b/tests/library/meta/value-type-binding-test.cpp @@ -200,6 +200,12 @@ namespace test{ cout << showType::reference>() <::pointer>() <::value_type>() <::reference>() <::pointer>() <::value_type>() <::reference>() <::pointer>() <