In the implementation files for the C++ STL I see a lot of functions like __glibcxx_class_requires
and __glibcxx_requires_nonempty
. What do these type of functions do? Should I be including these in my own files if I'm implementing a new Container that conforms to the STL standards?
These are actually not functions, but macros:
Information on these is scattered, but I did find some here, here and here.
Mostly used for debug and are defined in debug.h. Can also use for in-line asserts to prevent a program from continuing if certain conditions are met (not met).