c++stl

C++ what purpose do __glibcxx* function calls serve?


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?


Solution

  • 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).