File tree 1 file changed +7
-0
lines changed
1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -952,12 +952,16 @@ namespace classdesc
952
952
{
953
953
ExcludeClass () {}
954
954
template <class U > explicit ExcludeClass (const U& x): T(x) {}
955
+ #if __cplusplus>=201103L
956
+ template <class ... U> explicit ExcludeClass (U... args): T(std::forward<U>(args)...) {}
957
+ #endif
955
958
template <class U > const T& operator =(const U& x) {return T::operator =(x);}
956
959
// template <class U> operator const U&() const {return *static_cast<const U*>(static_cast<const T*>(this));}
957
960
template <class U > operator const U&() const {return *(const U*)this ;}
958
961
// template <class U> operator U&() {return *static_cast<U*>(static_cast<T*>(this));}
959
962
template <class U > operator U&() {return *(U*)this ;}
960
963
// other operators?
964
+
961
965
};
962
966
963
967
template <class T >
@@ -993,6 +997,9 @@ namespace classdesc
993
997
typedef typename conditional
994
998
<is_class<T>::value, ExcludeClass<T>, ExcludeFundamental<T> >::T Super;
995
999
Exclude () {}
1000
+ #if __cplusplus>=201103L
1001
+ template <class ... U> explicit Exclude (U... args): Super(std::forward<U>(args)...) {}
1002
+ #endif
996
1003
template <class U > explicit Exclude (const U& x): Super(x) {}
997
1004
template <class U > const T& operator =(const U& x) {return Super::operator =(x);}
998
1005
};
You can’t perform that action at this time.
0 commit comments