[/
Copyright 2020 Glen Joseph Fernandes
(glenjofe@gmail.com)

Distributed under the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt
or copy at http://www.boost.org/LICENSE_1_0.txt).
]

[section:is_trivially_copyable is_trivially_copyable]

    template<class T>
    struct is_trivially_copyable
        : __tof { };

__inherit If T is a (possibly cv-qualified) type that is trivially copyable
then inherits from __true_type, otherwise inherits from __false_type.

__compat This trait is implemented as the conjunction of `has_trivial_copy`,
`has_trivial_assign`, and `has_trivial_destructor`.

__header `#include <boost/type_traits/is_trivially_copyable.hpp>`

__examples

[:`is_trivially_copyable<int>` inherits from `__true_type`.]

[:`is_trivially_copyable<const int>` inherits from `__false_type`.]

[:`is_trivially_copyable<char*>::type` is the type `__true_type`.]

[:`is_trivially_copyable<int(*)(long)>::value` is an integral constant
expression that evaluates to /true/.]

[:`is_trivially_copyable<MyClass>::value` is an integral constant expression
that evaluates to /false/.]

[:`is_trivially_copyable<T>::value_type` is the type `bool`.]

[endsect]
