33// Supporting is_unique_ptr< T >, is_shared_ptr< T >, is_smart_ptr< T >, is_ptr< T >
44// Usage is like std::is_pointer< T >.
55// Soft version type traits additionally evalute a derived class from a pointer as true.
6- // Just write "soft" after a type_trait to embrace inheritance.
6+ // Just write "soft" after a type_trait to detect inheritance too .
77// ==========================================================================
88
99#ifndef _smart_pointer_type_trait
@@ -154,6 +154,7 @@ namespace woon2
154154 // method trait ( trace if a pointer class has a specified method. ) =====================
155155 namespace detail
156156 {
157+ // has_reset detail ==================================================================
157158 template < typename T, typename _ = void >
158159 struct has_reset_impl : std::false_type {};
159160
@@ -169,7 +170,9 @@ namespace woon2
169170 void
170171 >
171172 > : std::true_type {};
173+ // has_reset detail end ==============================================================
172174
175+ // has_release detail ================================================================
173176 template < typename T, typename _ = void >
174177 struct has_release_impl : std::false_type {};
175178
@@ -185,7 +188,9 @@ namespace woon2
185188 void
186189 >
187190 > : std::true_type {};
191+ // has_release detail end ============================================================
188192
193+ // has_get_deleter detail ============================================================
189194 template < typename T, typename _ = void >
190195 struct has_get_deleter_impl : std::false_type {};
191196
@@ -202,7 +207,9 @@ namespace woon2
202207 void
203208 >
204209 > : std::true_type {};
210+ // has_get_deleter detail end=========================================================
205211
212+ // has_swap detail ===================================================================
206213 template < typename T, typename _ = void >
207214 struct has_swap_impl : std::false_type {};
208215
@@ -218,7 +225,8 @@ namespace woon2
218225 void
219226 >
220227 > : std::true_type {};
221- }
228+ // has_swap detail end ===============================================================
229+ } // detail
222230
223231 template < typename T >
224232 using has_reset = detail::has_reset_impl< detail::remove_cvr_t < T > >;
0 commit comments