From e19e7330400ec98c1af2923b63459a883fc95026 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Thu, 18 Jun 2015 11:26:28 +0100 Subject: [PATCH] Regenerate docs and add missing files. --- doc/html/boost_typetraits/history.html | 7 + .../reference/common_type_hpp.html | 117 ------------- .../boost_typetraits/reference/copy_cv.html | 163 ++++++++++++++++++ .../boost_typetraits/reference/declval.html | 66 +++++++ .../reference/has_nothrow_destruct.html | 79 +++++++++ .../reference/is_assignable.html | 92 ++++++++++ .../reference/is_constructible.html | 98 +++++++++++ .../reference/is_default_constructible.html | 68 ++++++++ .../reference/is_destructible.html | 69 ++++++++ .../reference/type_identity.html | 119 +++++++++++++ doc/html/index/s11.html | 2 +- doc/html/index/s12.html | 2 +- doc/html/index/s13.html | 2 +- doc/html/index/s14.html | 7 +- 14 files changed, 770 insertions(+), 121 deletions(-) delete mode 100644 doc/html/boost_typetraits/reference/common_type_hpp.html create mode 100644 doc/html/boost_typetraits/reference/copy_cv.html create mode 100644 doc/html/boost_typetraits/reference/declval.html create mode 100644 doc/html/boost_typetraits/reference/has_nothrow_destruct.html create mode 100644 doc/html/boost_typetraits/reference/is_assignable.html create mode 100644 doc/html/boost_typetraits/reference/is_constructible.html create mode 100644 doc/html/boost_typetraits/reference/is_default_constructible.html create mode 100644 doc/html/boost_typetraits/reference/is_destructible.html create mode 100644 doc/html/boost_typetraits/reference/type_identity.html diff --git a/doc/html/boost_typetraits/history.html b/doc/html/boost_typetraits/history.html index 45954e9..9a7e09a 100644 --- a/doc/html/boost_typetraits/history.html +++ b/doc/html/boost_typetraits/history.html @@ -41,6 +41,13 @@ Fix decay to follow C++11 semantics, see #7760. +
  • + Added a number of new traits is_assignable, + is_default_constructible, + is_constructible + and is_destructible + required to fix bugs in a number of other traits, see for example #11324. +
  • diff --git a/doc/html/boost_typetraits/reference/common_type_hpp.html b/doc/html/boost_typetraits/reference/common_type_hpp.html deleted file mode 100644 index 52059cf..0000000 --- a/doc/html/boost_typetraits/reference/common_type_hpp.html +++ /dev/null @@ -1,117 +0,0 @@ - - - -common_type - - - - - - - - - - - - - - - -
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    -
    -
    -PrevUpHomeNext -
    -
    - -

    - #include <boost/type_traits/common_type.hpp> -

    -
    namespace boost {
    -  template <class ...T>  struct common_type;
    -}
    -
    -

    - common_type - is a traits class used to deduce a type common to a several types, useful - as the return type of functions operating on multiple input types such as - in mixed-mode arithmetic.. -

    -

    - The nested typedef ::type - could be defined as follows: -

    -
    template <class ...T>
    -struct common_type;
    -
    -template <class T, class U, class ...V>
    -struct common_type<T,U,...V> {
    -    typedef typename __common_type__<typename __common_type__<T, U>::type, V...>::type type;
    -};
    -
    -template <class T>
    -struct common_type<T> {
    -    typedef T type;
    -};
    -
    -template <class T, class U>
    -struct common_type<T, U> {
    -    typedef decltype(__declval__<bool>() ? __declval__<T>() : __declval__<U>()) type;
    -};
    -
    -

    - All parameter types must be complete. This trait is permitted to be specialized - by a user if at least one template parameter is a user-defined type. Note: Such specializations are required when only - explicit conversions are desired among the common_type - arguments. -

    -
    - - Configuration - macros -
    -

    - When the compiler does not support static assertions then the user can select - the way static assertions are reported. Define -

    -
      -
    • - BOOST_COMMON_TYPE_USES_STATIC_ASSERT: define it if you want to use Boost.StaticAssert -
    • -
    • - BOOST_COMMON_TYPE_USES_MPL_ASSERT: define it if you want to use Boost.MPL - static asertions -
    • -
    -

    - The default behavior is to use mpl assertions in this case, but setting BOOST_COMMON_TYPE_USES_STATIC_ASSERT - may reduce compile times and header dependencies somewhat. -

    -

    - Depending on the static assertion used you will have an hint of the failing - assertion either through the symbol or through the text. -

    -

    - When possible common_type is implemented using decltype. - Otherwise when BOOST_COMMON_TYPE_DONT_USE_TYPEOF is not defined it uses Boost.TypeOf. -

    -
    - - - -
    -
    -
    -PrevUpHomeNext -
    - - diff --git a/doc/html/boost_typetraits/reference/copy_cv.html b/doc/html/boost_typetraits/reference/copy_cv.html new file mode 100644 index 0000000..de91732 --- /dev/null +++ b/doc/html/boost_typetraits/reference/copy_cv.html @@ -0,0 +1,163 @@ + + + +copy_cv + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T, class U>
    +struct copy_cv
    +{
    +   typedef see-below type;
    +};
    +
    +

    + type: T cv, + where cv are the cv-qualifiers of U. +

    +

    + Header: #include + <boost/type_traits/copy_cv.hpp> + or #include <boost/type_traits.hpp> +

    +
    +

    Table 1.17. Examples

    +
    ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    + Expression +

    +
    +

    + Result Type +

    +
    +

    + copy_cv<int, void>::type +

    +
    +

    + int +

    +
    +

    + copy_cv<int const, void>::type +

    +
    +

    + int const +

    +
    +

    + copy_cv<int, void const>::type +

    +
    +

    + int const +

    +
    +

    + copy_cv<int volatile, void + const>::type +

    +
    +

    + int const + volatile +

    +
    +

    + copy_cv<int&, + void const>::type +

    +
    +

    + int& +

    +
    +

    + copy_cv<int*, + void volatile>::type +

    +
    +

    + int* + volatile +

    +
    +
    +
    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/declval.html b/doc/html/boost_typetraits/reference/declval.html new file mode 100644 index 0000000..77983cc --- /dev/null +++ b/doc/html/boost_typetraits/reference/declval.html @@ -0,0 +1,66 @@ + + + +declval + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T>
    +typename add_rvalue_reference<T>::type declval() noexcept; // as unevaluated operand
    +
    +

    + C++ Standard Reference: C++11 20.2.4 [declval]. +

    +

    + Header: #include + <boost/type_traits/declval.hpp> + or #include <boost/type_traits.hpp> +

    +

    + The function template declval + is used when a value of a certain type is required in a type computation + context. For example, the type of the result of adding an int + and a float can be obtained + with the expression decltype( declval<int>() + + declval<float>() ). +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/has_nothrow_destruct.html b/doc/html/boost_typetraits/reference/has_nothrow_destruct.html new file mode 100644 index 0000000..d4e6d97 --- /dev/null +++ b/doc/html/boost_typetraits/reference/has_nothrow_destruct.html @@ -0,0 +1,79 @@ + + + +has_nothrow_destructor + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T>
    +struct has_nothrow_destructor : public true_type-or-false_type {};
    +
    +

    + Inherits: If T is a (possibly cv-qualified) + type with a non-throwing destructor then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete + type. +

    +

    + Compiler Compatibility: Either requires + C++11 noexcept and decltype or else some (unspecified) help from + the compiler. You may test to see if the necessary support is available by + checking to see if !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_NOEXCEPT) is true. +

    +

    + Header: #include + <boost/type_traits/has_nothrow_copy.hpp> + or #include <boost/type_traits.hpp> +

    +
    + + + + + +
    [Note]Note

    + Note that destructors are assumed to be non-throwing unless they are explicitly + marked otherwise with a throw(something) specification. This is in line with the + C++11 standard. +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/is_assignable.html b/doc/html/boost_typetraits/reference/is_assignable.html new file mode 100644 index 0000000..acadda6 --- /dev/null +++ b/doc/html/boost_typetraits/reference/is_assignable.html @@ -0,0 +1,92 @@ + + + +is_assignable + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T, class U>
    +struct is_assignable : public true_type-or-false_type {};
    +
    +

    + Inherits: If std::declval<T>() + = std::declval<U>() + then inherits from true_type, + otherwise from __flase_type. Type T + must be a complete type. +

    +

    + Note that this trait is somewhat tricky to use correctly: for example: +

    +
    is_assignable<int, int>::value
    +
    +

    + is false since std::declval<int>() + is an xvalue which can not be assigned to! +

    +

    + If you're intention is to check for copy-assignment from some type U then + use: +

    +
    is_assignable<T&, const U&>::value
    +
    +

    + If you're intention is to check for move-assignment then use: +

    +
    is_assignable<T&, U&&>::value
    +
    +

    + or simply: +

    +
    is_assignable<T&, U>::value
    +
    +

    + Compiler Compatibility: Requires the C++11 + features decltype and SFINAE-expressions + for full support. +

    +

    + Header: #include + <boost/type_traits/is_assignable.hpp> + or #include <boost/type_traits.hpp> +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/is_constructible.html b/doc/html/boost_typetraits/reference/is_constructible.html new file mode 100644 index 0000000..c9fe383 --- /dev/null +++ b/doc/html/boost_typetraits/reference/is_constructible.html @@ -0,0 +1,98 @@ + + + +is_constructible + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T, class... Args>
    +struct is_constructible : public true_type-or-false_type {};
    +
    +

    + Inherits: If T + can be constructed from Args, + then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete + type. +

    +

    + Formally the trait answers the question, is the expression: +

    +
    T t(std::declval<Args>()...);
    +
    +

    + valid? +

    +

    + There are a number of important special cases for this trait: +

    +
    is_constructible<T>::value
    +
    +

    + Indicates whether T is default + constructible, while: +

    +
    is_constructible<T, const T&>::value
    +
    +

    + Indicates whether T is copy-constructible, + and: +

    +
    is_constructible<T, T>::value
    +
    +

    + Indicates whether T is move-constructible. +

    +

    + Compiler Compatibility: This trait requires + the C++11 features decltype + variadic templates and SFINAE-expression support for full support. While + there is some fallback code for cases where this is not the case, the trait + should really be considered broken in that case. +

    +

    + Header: #include + <boost/type_traits/is_copy_constructible.hpp> + or #include <boost/type_traits.hpp> +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/is_default_constructible.html b/doc/html/boost_typetraits/reference/is_default_constructible.html new file mode 100644 index 0000000..f275007 --- /dev/null +++ b/doc/html/boost_typetraits/reference/is_default_constructible.html @@ -0,0 +1,68 @@ + + + +is_default_constructible + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T>
    +struct is_default_constructible : public true_type-or-false_type {};
    +
    +

    + Inherits: If T + can be default-constructed then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete + type. +

    +

    + Compiler Compatibility: This trait requires + the C++11 feature decltype support + for full support. While there is some fallback code for cases where this + is not the case, the trait should really be considered broken in that case. +

    +

    + Header: #include + <boost/type_traits/is_copy_constructible.hpp> + or #include <boost/type_traits.hpp> +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/is_destructible.html b/doc/html/boost_typetraits/reference/is_destructible.html new file mode 100644 index 0000000..dcbcd66 --- /dev/null +++ b/doc/html/boost_typetraits/reference/is_destructible.html @@ -0,0 +1,69 @@ + + + +is_destructible + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T>
    +struct is_destructible : public true_type-or-false_type {};
    +
    +

    + Inherits: If T + does not have its destructor deleted then inherits from true_type, + otherwise inherits from false_type. + Type T must be a complete + type. +

    +

    + Compiler Compatibility: This trait requires + the C++11 features decltype + and SFINAE-expression support for full support. While there is some fallback + code for cases where this is not the case, the trait should really be considered + broken in that case. +

    +

    + Header: #include + <boost/type_traits/is_copy_constructible.hpp> + or #include <boost/type_traits.hpp> +

    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/boost_typetraits/reference/type_identity.html b/doc/html/boost_typetraits/reference/type_identity.html new file mode 100644 index 0000000..d22ea1d --- /dev/null +++ b/doc/html/boost_typetraits/reference/type_identity.html @@ -0,0 +1,119 @@ + + + +type_identity + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    template <class T>
    +struct type_identity
    +{
    +   typedef T type;
    +};
    +
    +

    + Header: #include + <boost/type_traits/type_identity.hpp> + or #include <boost/type_traits.hpp> +

    +
    +

    Table 1.33. Examples

    +
    ++++ + + + + + + + + + + + + + + + + + + +
    +

    + Expression +

    +
    +

    + Result Type +

    +
    +

    + type_identity<int>::type +

    +
    +

    + int +

    +
    +

    + type_identity<int&>::type +

    +
    +

    + int& +

    +
    +

    + type_identity<int* const&>::type +

    +
    +

    + int* + const& +

    +
    +
    +
    +
    + + + +
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/index/s11.html b/doc/html/index/s11.html index cedaa2f..7234df8 100644 --- a/doc/html/index/s11.html +++ b/doc/html/index/s11.html @@ -24,7 +24,7 @@

    -Class Index

    +Class Index

    A C D E F H I M N O P R T

    diff --git a/doc/html/index/s12.html b/doc/html/index/s12.html index c03e68e..03377cc 100644 --- a/doc/html/index/s12.html +++ b/doc/html/index/s12.html @@ -24,7 +24,7 @@

    -Typedef Index

    +Typedef Index

    F R T V

    diff --git a/doc/html/index/s13.html b/doc/html/index/s13.html index 96f4896..d0133d9 100644 --- a/doc/html/index/s13.html +++ b/doc/html/index/s13.html @@ -24,7 +24,7 @@

    -Macro Index

    +Macro Index

    B

    diff --git a/doc/html/index/s14.html b/doc/html/index/s14.html index f7f55ae..c0640fc 100644 --- a/doc/html/index/s14.html +++ b/doc/html/index/s14.html @@ -23,7 +23,7 @@

    -Index

    +Index

    A B C D E F H I M N O P R T U V

    @@ -204,6 +204,10 @@