8 #ifndef BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED 9 #define BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED 19 # pragma warning(push) 20 # pragma warning(disable: 4121) // alignment is sensitive to packing 38 #ifndef BOOST_NO_LONG_LONG 39 boost::long_long_type
ll;
41 #ifdef BOOST_HAS_INT128 42 boost::int128_type i128;
47 #ifdef BOOST_HAS_FLOAT128 58 #ifndef BOOST_NO_LONG_LONG 64 #ifndef BOOST_NO_LONG_LONG 81 template <std::
size_t Align>
87 #if (defined(__GNUC__) || (defined (__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130)) || defined(__clang__)) && !defined(BOOST_TT_DISABLE_INTRINSICS) 88 namespace tt_align_ns {
89 struct __attribute__((__aligned__(2))) a2 {};
90 struct __attribute__((__aligned__(4))) a4 {};
91 struct __attribute__((__aligned__(8))) a8 {};
92 struct __attribute__((__aligned__(16))) a16 {};
93 struct __attribute__((__aligned__(32))) a32 {};
94 struct __attribute__((__aligned__(64))) a64 {};
95 struct __attribute__((__aligned__(128))) a128 {};
107 template<>
struct is_pod< ::boost::tt_align_ns::a2> :
public true_type{};
108 template<>
struct is_pod< ::boost::tt_align_ns::a4> :
public true_type{};
109 template<>
struct is_pod< ::boost::tt_align_ns::a8> :
public true_type{};
110 template<>
struct is_pod< ::boost::tt_align_ns::a16> :
public true_type{};
111 template<>
struct is_pod< ::boost::tt_align_ns::a32> :
public true_type{};
112 template<>
struct is_pod< ::boost::tt_align_ns::a64> :
public true_type{};
113 template<>
struct is_pod< ::boost::tt_align_ns::a128> :
public true_type{};
116 #if (defined(BOOST_MSVC) || (defined(BOOST_INTEL) && defined(_MSC_VER))) && !defined(BOOST_TT_DISABLE_INTRINSICS) 133 namespace tt_align_ns {
134 struct __declspec(align(8)) a8 {
138 struct __declspec(align(16)) a16 {
142 struct __declspec(align(32)) a32 {
146 struct __declspec(align(64)) a64
151 struct __declspec(align(128)) a128 {
201 template<>
struct is_pod< ::boost::tt_align_ns::a8> :
public true_type{};
202 template<>
struct is_pod< ::boost::tt_align_ns::a16> :
public true_type{};
203 template<>
struct is_pod< ::boost::tt_align_ns::a32> :
public true_type{};
204 template<>
struct is_pod< ::boost::tt_align_ns::a64> :
public true_type{};
205 template<>
struct is_pod< ::boost::tt_align_ns::a128> :
public true_type{};
217 namespace tt_align_ns{
218 #pragma option push -a16 219 struct a2{
short s; };
221 struct a8{
double s; };
222 struct a16{
long double s; };
228 typedef ::boost::tt_align_ns::a16 max_align;
232 template <>
struct is_pod< ::boost::tt_align_ns::a2> :
public true_type{};
233 template <>
struct is_pod< ::boost::tt_align_ns::a4> :
public true_type{};
234 template <>
struct is_pod< ::boost::tt_align_ns::a8> :
public true_type{};
235 template <>
struct is_pod< ::boost::tt_align_ns::a16> :
public true_type{};
243 typedef tt_align_ns::a16
type;
256 # pragma warning(pop) 259 #endif // BOOST_TT_TYPE_WITH_ALIGNMENT_INCLUDED
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
GLuint GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat GLfloat t1
boost::detail::max_align type
boost::long_long_type type