make has_mapped_type struct friendly
This commit is contained in:
		
							parent
							
								
									a0ef5a194c
								
							
						
					
					
						commit
						e9fde3e116
					
				
					 2 changed files with 12 additions and 6 deletions
				
			
		|  | @ -112,10 +112,13 @@ template<typename T> | |||
| struct has_mapped_type | ||||
| { | ||||
|   private: | ||||
|     template<typename C> static char test(typename C::mapped_type*); | ||||
|     template<typename C> static char (&test(...))[2]; | ||||
|     template <typename U, typename = typename U::mapped_type> | ||||
|     static int detect(U&&); | ||||
| 
 | ||||
|     static void detect(...); | ||||
|   public: | ||||
|     static constexpr bool value = sizeof(test<T>(0)) == 1; | ||||
|     static constexpr bool value = | ||||
|         std::is_integral<decltype(detect(std::declval<T>()))>::value; | ||||
| }; | ||||
| 
 | ||||
| /*!
 | ||||
|  |  | |||
|  | @ -112,10 +112,13 @@ template<typename T> | |||
| struct has_mapped_type | ||||
| { | ||||
|   private: | ||||
|     template<typename C> static char test(typename C::mapped_type*); | ||||
|     template<typename C> static char (&test(...))[2]; | ||||
|     template <typename U, typename = typename U::mapped_type> | ||||
|     static int detect(U&&); | ||||
| 
 | ||||
|     static void detect(...); | ||||
|   public: | ||||
|     static constexpr bool value = sizeof(test<T>(0)) == 1; | ||||
|     static constexpr bool value = | ||||
|         std::is_integral<decltype(detect(std::declval<T>()))>::value; | ||||
| }; | ||||
| 
 | ||||
| /*! | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue