25 #ifdef DOC_BROWN_DEBUG_MODE 29 #define CHECK_POINT_BUILD(Name, Type)\ 30 static std::shared_ptr<mty::doc::CheckPoint_Base> Name \ 31 = std::make_shared<mty::doc::CheckPoint<Type>>(#Name);\ 32 mty::doc::emmett->addCheckPoint(Name);\ 33 using type_check_point_data_Name = Type; 35 #define CHECK_POINT_BUILD_ARGS(Name, Type, ...)\ 36 std::shared_ptr<mty::doc::CheckPoint_Base> Name \ 37 = std::make_shared<mty::doc::CheckPoint<Type>>(#Name, __VA_ARGS__);\ 38 mty::doc::emmett->addCheckPoint(Name); 40 #define CHECK_POINT_ADD_TO(Name, data)\ 41 std::dynamic_pointer_cast<mty::doc::CheckPoint<\ 42 type_check_point_data_Name\ 43 >>(Name)->push_back(data); 45 #define CHECK_POINT_CALL(Name, func)\ 46 std::dynamic_pointer_cast<mty::doc::CheckPoint<\ 47 type_check_point_data_Name\ 49 #define CHECK_POINT_CALL_ARGS(Name, func, ...)\ 50 std::dynamic_pointer_cast<mty::doc::CheckPoint<\ 51 type_check_point_data_Name\ 52 >>(Name)->func(__VA_ARGS__); 56 #define CHECK_POINT_BUILD(...) 57 #define CHECK_POINT_BUILD_ARGS(...) 58 #define CHECK_POINT_ADD_TO(...) 59 #define CHECK_POINT_CALL(...) 60 #define CHECK_POINT_CALL_ARGS(...) Main utilities for doc brown's debugger.