#include <traits.h>
Implementation of the type trait to infer if a type is an STL container.
This is the general case for types that are not STL containers.
is_writable_to_stream trait in a general way since we need it in the Configuration class through the Key::as_yaml method, where the type streamed is totally generic and we need to avoid using the stream operator<< on types that do not support it. If SMASH is used as library and another container is needed, a specialization of the is_stl_container template can be easily added in smash::detail namespace.std::array should NOT be added here as STL container. This would lead to an ambiguity in the is_writable_to_stream trait and would break compilation. In fact, it is standard to consider std::array as tuple-like and so it is done here.| T | The type to be tested. |