fast forward variant lib
This commit is contained in:
		
							parent
							
								
									a5e99a95a3
								
							
						
					
					
						commit
						cdd72c7e56
					
				
							
								
								
									
										6
									
								
								ThirdParty/variant/variant.hpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								ThirdParty/variant/variant.hpp
									
									
									
									
										vendored
									
									
								
							| @ -487,6 +487,8 @@ private: | |||||||
| 
 | 
 | ||||||
| } // namespace detail
 | } // namespace detail
 | ||||||
| 
 | 
 | ||||||
|  | struct no_init {}; | ||||||
|  | 
 | ||||||
| template<typename... Types> | template<typename... Types> | ||||||
| class variant | class variant | ||||||
| { | { | ||||||
| @ -503,12 +505,16 @@ private: | |||||||
| 
 | 
 | ||||||
| public: | public: | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     VARIANT_INLINE variant() |     VARIANT_INLINE variant() | ||||||
|         : type_index(sizeof...(Types) - 1) |         : type_index(sizeof...(Types) - 1) | ||||||
|     { |     { | ||||||
|         new (&data) typename detail::select_type<0, Types...>::type(); |         new (&data) typename detail::select_type<0, Types...>::type(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     VARIANT_INLINE variant(no_init) | ||||||
|  |         : type_index(detail::invalid_value) {} | ||||||
|  | 
 | ||||||
|     template <typename T, class = typename std::enable_if< |     template <typename T, class = typename std::enable_if< | ||||||
|                          detail::is_valid_type<T, Types...>::value>::type> |                          detail::is_valid_type<T, Types...>::value>::type> | ||||||
|     VARIANT_INLINE explicit variant(T const& val) noexcept |     VARIANT_INLINE explicit variant(T const& val) noexcept | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user