15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_DIVREG_H__ 16 #define __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_DIVREG_H__ 24 #include <boost/mpl/and.hpp> 25 #include <boost/mpl/equal_to.hpp> 26 #include <boost/mpl/or.hpp> 27 #include <boost/mpl/not_equal_to.hpp> 28 #include <boost/mpl/sizeof.hpp> 38 template <eInstructionSet::domain IS,
typename T>
42 typename
boost::enable_if<
43 typename boost::mpl::and_<
44 typename boost::mpl::not_equal_to<
46 boost::mpl::int_<eInstructionSet::eIS_Standard>
48 typename boost::mpl::and_<
49 typename boost::is_integral<T>::type,
50 typename boost::mpl::equal_to<
51 boost::mpl::sizeof_<T>,
59 static IPSDK_FORCEINLINE
69 static IPSDK_FORCEINLINE
100 template <eInstructionSet::domain IS,
typename T>
104 typename
boost::enable_if<
105 typename boost::mpl::and_<
106 typename boost::mpl::not_equal_to<
107 boost::mpl::int_<IS>,
108 boost::mpl::int_<eInstructionSet::eIS_Standard>
110 typename boost::mpl::and_<
111 typename boost::is_integral<T>::type,
112 typename boost::mpl::equal_to<
113 boost::mpl::sizeof_<T>,
121 static IPSDK_FORCEINLINE
131 static IPSDK_FORCEINLINE
147 template <eInstructionSet::domain IS,
typename T>
151 typename
boost::enable_if<
152 typename boost::mpl::and_<
153 typename boost::mpl::not_equal_to<
154 boost::mpl::int_<IS>,
155 boost::mpl::int_<eInstructionSet::eIS_Standard>
157 typename boost::mpl::and_<
158 typename boost::is_integral<T>::type,
159 typename boost::mpl::equal_to<
160 boost::mpl::sizeof_<T>,
168 static IPSDK_FORCEINLINE
178 static IPSDK_FORCEINLINE
199 #endif // __IPSDKUTIL_INSTRUCTIONSET_ARITHMETIC_DETAIL_COMMON_DIVREG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: DataItemNodeHdrMacrosDetails.h:48
Definition of import/export macro for library.