Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

Struct template has_trivial_destructor_after_move



// In header: <boost/move/move.hpp>

template<typename T> 
struct has_trivial_destructor_after_move {


If this trait yields to true (has_trivial_destructor_after_move <T>::value == true) means that if T is used as argument of a move construction/assignment, there is no need to call T's destructor. This optimization tipically is used to improve containers' performance.

By default this trait is true if the type has trivial destructor, every class should specialize this trait if it wants to improve performance when inserted in containers.