OpenFPM_pdata  1.1.0
Project that contain the implementation of distributed structures
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Friends Pages
prp_all_zero.hpp
1 /*
2  * prp_all_zero.hpp
3  *
4  * Created on: Mar 3, 2016
5  * Author: i-bird
6  */
7 
8 #ifndef OPENFPM_DATA_SRC_PACKER_UNPACKER_PRP_ALL_ZERO_HPP_
9 #define OPENFPM_DATA_SRC_PACKER_UNPACKER_PRP_ALL_ZERO_HPP_
10 
11 #include "util/variadic_to_vmpl.hpp"
12 
14 template<typename T, bool is_zero, int ... prp>
16 {
18  typedef typename to_boost_vmpl<prp...>::type type;
19 };
20 
23 template<typename T, int ... prp>
24 struct prp_all_zero<T,true,prp ... >
25 {
27  typedef typename boost::mpl::range_c<int,0, boost::mpl::size<typename T::type>::type::value >::type type;
28 };
29 
30 
31 #endif /* OPENFPM_DATA_SRC_PACKER_UNPACKER_PRP_ALL_ZERO_HPP_ */
boost::mpl::range_c< int, 0, boost::mpl::size< typename T::type >::type::value >::type type
mpl vector
to_boost_vmpl< prp...>::type type
mpl vector
Structure to convert a variadic template into boost::mpl::vector.