@@ -10,6 +10,7 @@ set(PRIVATE_MODULES
set(PUBLIC_MODULES
"modules/AlignedData.cppm"
"modules/Array.cppm"
+ "modules/Assert.cppm"
"modules/ArrayList.cppm"
"modules/BitArray.cppm"
"modules/Box.cppm"
@@ -1,7 +1,5 @@
module;
-#include <cassert>
-
export module Core.ArrayList;
export import Core.New;
@@ -9,6 +7,7 @@ export import Core.New;
import Core.AlignedData;
import Core.Meta;
import Core.Types;
+import Core.Assert;
export namespace Core {
template<typename T, size_t N>
@@ -0,0 +1,25 @@
+module;
+
+export module Core.Assert;
+import Core.Std;
+import Core.Utility;
+import Core.Logger;
+export namespace Core {
+#ifdef NDEBUG
+ void inline assert(bool) {
+ }
+#else
+ void inline assert(
+ bool b,
+ const std::source_location& l = std::source_location::current()) {
+ if(!b) {
+ Core::logError(
+ FormatLocation("Assert in function #", l),
+ getShortFileName(l.file_name()), l.line(), l.function_name());
+ exitWithHandler(1, l);
+#endif
+}
export module Core.List;
export import Core.Utility;
@@ -11,6 +9,7 @@ import Core.AlignedData;
import Core.Math;
import Core.ToString;
export using ::operator new;
export module Core.Queue;
@@ -10,6 +8,7 @@ import Core.AlignedData;
import Core.Utility;
module Core.BitArray;
@@ -9,6 +7,7 @@ import Core.Math;
import Core.Std;
using Core::BitArray;