I am currently working on a custom stack allocator. This allocator has a list of all allocated objects so that it can call the destructors of each object, once a deallocate method is called. However, I was wondering if every destructor of every type always has to get called or if there are types that don't need a destructor call.
I already found std::is_trivially_destructible, but I am not quite sure if it does what I think it does. I think if std::is_trivially_destructible() is true, then the destructor does not need to be called. Is this true?