37 lines
		
	
	
		
			905 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			905 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | /////////////////////////////////////////////////////////////// | ||
|  | //  Copyright 2013 John Maddock. Distributed under the Boost | ||
|  | //  Software License, Version 1.0. (See accompanying file | ||
|  | //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_ | ||
|  | 
 | ||
|  | #ifndef BOOST_MP_CPP_INT_VP_HPP | ||
|  | #define BOOST_MP_CPP_INT_VP_HPP | ||
|  | 
 | ||
|  | namespace boost{ namespace multiprecision{ | ||
|  | 
 | ||
|  | namespace literals{ namespace detail{ | ||
|  | 
 | ||
|  | template <limb_type...VALUES> | ||
|  | struct value_pack | ||
|  | { | ||
|  |    constexpr value_pack(){} | ||
|  | 
 | ||
|  |    typedef value_pack<0, VALUES...> next_type; | ||
|  | }; | ||
|  | template <class T> | ||
|  | struct is_value_pack{ static constexpr bool value = false; }; | ||
|  | template <limb_type...VALUES> | ||
|  | struct is_value_pack<value_pack<VALUES...> >{ static constexpr bool value = true; }; | ||
|  | 
 | ||
|  | struct negate_tag{}; | ||
|  | 
 | ||
|  | constexpr negate_tag make_negate_tag() | ||
|  | { | ||
|  |    return negate_tag(); | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | }}}} // namespaces | ||
|  | 
 | ||
|  | #endif // BOOST_MP_CPP_INT_CORE_HPP | ||
|  | 
 |