Boost
C++ Libraries
...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
This is an older version of Boost and was released in 2017. The current version is 1.89.0.
boost::has_trivial_destructor_after_move
// In header: <boost/move/traits.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.