forked from boostorg/mp11
		
	
		
			
	
	
		
			35 lines
		
	
	
		
			819 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			35 lines
		
	
	
		
			819 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| 
								 | 
							
								#ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED
							 | 
						||
| 
								 | 
							
								#define BOOST_MP11_INTEGRAL_HPP_INCLUDED
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//  Copyright 2015 Peter Dimov.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  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_0.txt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <type_traits>
							 | 
						||
| 
								 | 
							
								#include <cstddef>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace boost
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// mp_bool
							 | 
						||
| 
								 | 
							
								template<bool B> using mp_bool = std::integral_constant<bool, B>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								using mp_true = mp_bool<true>;
							 | 
						||
| 
								 | 
							
								using mp_false = mp_bool<false>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// mp_to_bool
							 | 
						||
| 
								 | 
							
								template<class T> using mp_to_bool = mp_bool<static_cast<bool>( T::value )>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// mp_int
							 | 
						||
| 
								 | 
							
								template<int I> using mp_int = std::integral_constant<int, I>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// mp_size_t
							 | 
						||
| 
								 | 
							
								template<std::size_t N> using mp_size_t = std::integral_constant<std::size_t, N>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								} // namespace boost
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif // #ifndef BOOST_MP11_INTEGRAL_HPP_INCLUDED
							 |