Lines Matching refs:T

39 template <typename T> struct Void { typedef void Type; };
74 template <typename T> struct AddConst { typedef const T Type; };
75 template <bool Constify, typename T> struct MaybeAddConst : SelectIfCond<Constify, const T, T> {};
76 template <typename T> struct RemoveConst { typedef T Type; };
77 template <typename T> struct RemoveConst<const T> { typedef T Type; };
83 template <typename T, typename U> struct IsSame : FalseType {};
84 template <typename T> struct IsSame<T, T> : TrueType {};
86 template <typename T> struct IsConst : FalseType {};
87 template <typename T> struct IsConst<const T> : TrueType {};
89 template <typename CT, typename T>
91 : AndExpr<IsSame<typename RemoveConst<CT>::Type, typename RemoveConst<T>::Type>,
92 BoolType<IsConst<CT>::Value >= IsConst<T>::Value> >::Type {};
94 template <typename T> struct IsPointer : FalseType {};
95 template <typename T> struct IsPointer<T*> : TrueType {};
114 template <typename T>
115 static Yes Check(const D*, T);
135 template <bool Condition, typename T = void> struct EnableIfCond { typedef T Type; };
136 template <typename T> struct EnableIfCond<false, T> { /* empty */ };
138 template <bool Condition, typename T = void> struct DisableIfCond { typedef T Type; };
139 template <typename T> struct DisableIfCond<true, T> { /* empty */ };
141 template <typename Condition, typename T = void>
142 struct EnableIf : EnableIfCond<Condition::Value, T> {};
144 template <typename Condition, typename T = void>
145 struct DisableIf : DisableIfCond<Condition::Value, T> {};
149 template <typename T> struct RemoveSfinaeTag;
150 template <typename T> struct RemoveSfinaeTag<SfinaeTag&(*)(T)> { typedef T Type; };