~ubuntu-branches/ubuntu/wily/ruby-passenger/wily-proposed

« back to all changes in this revision

Viewing changes to ext/boost/type_traits/intrinsics.hpp

  • Committer: Package Import Robot
  • Author(s): Felix Geyer
  • Date: 2013-11-23 23:50:02 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20131123235002-8fdhsq7afj15o2z2
Tags: 4.0.25-1
* New upstream release.
* Refresh fix_install_path.patch.
* Build for Ruby 2.0 instead of 1.8. (Closes: #725591)
* Add fix_ftbfs_fortify_source.patch.
* Install passenger template files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
// BOOST_IS_EMPTY(T) should evaluate to true if T is an empty class type (and not a union)
25
25
// BOOST_HAS_TRIVIAL_CONSTRUCTOR(T) should evaluate to true if "T x;" has no effect
26
26
// BOOST_HAS_TRIVIAL_COPY(T) should evaluate to true if T(t) <==> memcpy
 
27
// BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) should evaluate to true if T(boost::move(t)) <==> memcpy
27
28
// BOOST_HAS_TRIVIAL_ASSIGN(T) should evaluate to true if t = u <==> memcpy
 
29
// BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) should evaluate to true if t = boost::move(u) <==> memcpy
28
30
// BOOST_HAS_TRIVIAL_DESTRUCTOR(T) should evaluate to true if ~T() has no effect
29
31
// BOOST_HAS_NOTHROW_CONSTRUCTOR(T) should evaluate to true if "T x;" can not throw
30
32
// BOOST_HAS_NOTHROW_COPY(T) should evaluate to true if T(t) can not throw
79
81
#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
80
82
#endif
81
83
 
82
 
#if defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215)
 
84
#if (defined(BOOST_MSVC) && defined(BOOST_MSVC_FULL_VER) && (BOOST_MSVC_FULL_VER >=140050215))\
 
85
         || (defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1500))
83
86
#   include <boost/type_traits/is_same.hpp>
 
87
#   include <boost/type_traits/is_function.hpp>
84
88
 
85
89
#   define BOOST_IS_UNION(T) __is_union(T)
86
90
#   define BOOST_IS_POD(T) (__is_pod(T) && __has_trivial_constructor(T))
97
101
#   define BOOST_IS_ABSTRACT(T) __is_abstract(T)
98
102
#   define BOOST_IS_BASE_OF(T,U) (__is_base_of(T,U) && !is_same<T,U>::value)
99
103
#   define BOOST_IS_CLASS(T) __is_class(T)
100
 
#   define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || is_same<T,U>::value) && !__is_abstract(U))
 
104
#   define BOOST_IS_CONVERTIBLE(T,U) ((__is_convertible_to(T,U) || (is_same<T,U>::value && !is_function<U>::value)) && !__is_abstract(U))
101
105
#   define BOOST_IS_ENUM(T) __is_enum(T)
102
106
//  This one doesn't quite always do the right thing:
103
107
//  #   define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
104
108
//  This one fails if the default alignment has been changed with /Zp:
105
109
//  #   define BOOST_ALIGNMENT_OF(T) __alignof(T)
106
110
 
 
111
#   if defined(_MSC_VER) && (_MSC_VER >= 1700)
 
112
#       define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || ::boost::is_pod<T>::value) && !::boost::is_volatile<T>::value)
 
113
#       define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || ::boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value)
 
114
#   endif
 
115
 
107
116
#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
108
117
#endif
109
118
 
181
190
#   if __has_feature(is_polymorphic)
182
191
#     define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
183
192
#   endif
 
193
#   if __has_feature(has_trivial_move_constructor)
 
194
#     define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
 
195
#   endif
 
196
#   if __has_feature(has_trivial_move_assign)
 
197
#     define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
 
198
#   endif
184
199
#   define BOOST_ALIGNMENT_OF(T) __alignof(T)
185
200
 
186
201
#   define BOOST_HAS_TYPE_TRAITS_INTRINSICS
287
302
 
288
303
 
289
304
 
 
305