cl 189032107, again
This commit is contained in:
		
							parent
							
								
									67efdc1fc7
								
							
						
					
					
						commit
						dd2cc36420
					
				@ -933,19 +933,34 @@ struct IsHashTable {
 | 
			
		||||
template <typename T>
 | 
			
		||||
const bool IsHashTable<T>::value;
 | 
			
		||||
 | 
			
		||||
template<typename T>
 | 
			
		||||
struct VoidT {
 | 
			
		||||
    typedef void value_type;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
template <typename T, typename = void>
 | 
			
		||||
struct HasValueType : false_type {};
 | 
			
		||||
template <typename T>
 | 
			
		||||
struct HasValueType<T, VoidT<typename T::value_type> > : true_type {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
template <typename C,
 | 
			
		||||
          bool = sizeof(IsContainerTest<C>(0)) == sizeof(IsContainer)>
 | 
			
		||||
          bool = sizeof(IsContainerTest<C>(0)) == sizeof(IsContainer),
 | 
			
		||||
          bool = HasValueType<C>::value>
 | 
			
		||||
struct IsRecursiveContainerImpl;
 | 
			
		||||
 | 
			
		||||
template <typename C>
 | 
			
		||||
struct IsRecursiveContainerImpl<C, false> : public false_type {};
 | 
			
		||||
template <typename C, bool HV>
 | 
			
		||||
struct IsRecursiveContainerImpl<C, false, HV> : public false_type {};
 | 
			
		||||
 | 
			
		||||
// Since the IsRecursiveContainerImpl depends on the IsContainerTest we need to
 | 
			
		||||
// obey the same inconsistencies as the IsContainerTest, namely check if
 | 
			
		||||
// something is a container is relying on only const_iterator in C++11 and
 | 
			
		||||
// is relying on both const_iterator and iterator otherwise
 | 
			
		||||
template <typename C>
 | 
			
		||||
struct IsRecursiveContainerImpl<C, true> {
 | 
			
		||||
struct IsRecursiveContainerImpl<C, true, false> : public false_type {};
 | 
			
		||||
 | 
			
		||||
template <typename C>
 | 
			
		||||
struct IsRecursiveContainerImpl<C, true, true> {
 | 
			
		||||
  #if GTEST_LANG_CXX11
 | 
			
		||||
  typedef typename IteratorTraits<typename C::const_iterator>::value_type
 | 
			
		||||
      value_type;
 | 
			
		||||
 | 
			
		||||
@ -195,7 +195,6 @@ class PathLike {
 | 
			
		||||
  struct iterator {
 | 
			
		||||
    typedef PathLike value_type;
 | 
			
		||||
  };
 | 
			
		||||
  typedef iterator const_iterator;
 | 
			
		||||
 | 
			
		||||
  PathLike() {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user