tool-exit.h 669 B

12345678910111213141516171819202122232425262728
  1. #ifndef AFUN_EXIT_H
  2. #define AFUN_EXIT_H
  3. #ifdef __cplusplus
  4. #include <functional>
  5. #include "aFunToolExport.h"
  6. #include "tool-macro.h"
  7. #ifndef AFUN_TOOL_C
  8. namespace aFuntool {
  9. #endif
  10. typedef std::function<void(void *)> aFunExitFunc;
  11. AFUN_TOOL_EXPORT void aFunExit(int exit_code) noexcept(false);
  12. [[noreturn]] AFUN_TOOL_EXPORT void aFunExitReal(int exit_code);
  13. AFUN_TOOL_EXPORT bool aFunTryExitPseudo();
  14. AFUN_TOOL_EXPORT void aFunExitPseudo();
  15. AFUN_TOOL_EXPORT bool aFunAtExitTry(aFunExitFunc func, void *data);
  16. AFUN_TOOL_EXPORT void aFunAtExit(aFunExitFunc func, void *data);
  17. #ifndef AFUN_TOOL_C
  18. }
  19. #endif
  20. #endif
  21. #endif //AFUN_EXIT_H