blob: 1257825b9c5baa1d9d67997884ae9d2030cba542 [file] [log] [blame]
[/
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]