File tree Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Expand file tree Collapse file tree 1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -952,12 +952,16 @@ namespace classdesc
952952 {
953953 ExcludeClass () {}
954954 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
955958 template <class U > const T& operator =(const U& x) {return T::operator =(x);}
956959 // template <class U> operator const U&() const {return *static_cast<const U*>(static_cast<const T*>(this));}
957960 template <class U > operator const U&() const {return *(const U*)this ;}
958961 // template <class U> operator U&() {return *static_cast<U*>(static_cast<T*>(this));}
959962 template <class U > operator U&() {return *(U*)this ;}
960963 // other operators?
964+
961965 };
962966
963967 template <class T >
@@ -993,6 +997,9 @@ namespace classdesc
993997 typedef typename conditional
994998 <is_class<T>::value, ExcludeClass<T>, ExcludeFundamental<T> >::T Super;
995999 Exclude () {}
1000+ #if __cplusplus>=201103L
1001+ template <class ... U> explicit Exclude (U... args): Super(std::forward<U>(args)...) {}
1002+ #endif
9961003 template <class U > explicit Exclude (const U& x): Super(x) {}
9971004 template <class U > const T& operator =(const U& x) {return Super::operator =(x);}
9981005 };
You can’t perform that action at this time.
0 commit comments