17#define arcs_assert(a) (__builtin_constant_p(a) ? assert(a) : ARCSassert::assert_from_macro(a,#a,__FILE__,__LINE__))
25 static void assert_from_macro(
const bool assertion,
const std::string& condition,
const std::string& file,
const int line);
33 std::tuple< std::string, std::string, int >
41 static const unsigned int WAIT_TIME = 1000;
43 static pthread_mutex_t SyncMutex;
44 static pthread_cond_t SyncCond;
46 static bool RealtimeModeFlag;
47 static bool EmergencyStopFlag;
48 static bool EmergencyProcDoneFlag;
49 static std::string EmergencyStopCond;
50 static std::string EmergencyStopFile;
51 static int EmergencyStopLine;
ARCS用ASSERTクラス
Definition ARCSassert.hh:21
bool IsDoneEmergencyProc(void)
緊急停止処理が完了したかどうか返す関数
Definition ARCSassert.cc:140
void WaitEmergency(void)
緊急停止が発生するまで待機する関数
Definition ARCSassert.cc:162
void SetNonRealtimeMode(void)
非リアルタイムモードに切り替える関数
Definition ARCSassert.cc:104
void SetRealtimeMode(void)
リアルタイムモードに切り替える関数
Definition ARCSassert.cc:96
ARCSassert()
コンストラクタ
Definition ARCSassert.cc:28
void DoneEmergencyProc(void)
緊急停止処理が完了したことを知らせる関数
Definition ARCSassert.cc:129
static void assert_from_macro(const bool assertion, const std::string &condition, const std::string &file, const int line)
ARCS用assert関数(マクロから呼ばれることを想定)
Definition ARCSassert.cc:44
void DeclareEmergency(void)
緊急事態を宣言する関数
Definition ARCSassert.cc:122
bool IsEmergency(void)
緊急事態かどうか返す関数
Definition ARCSassert.cc:113
~ARCSassert()
デストラクタ
Definition ARCSassert.cc:35
std::tuple< std::string, std::string, int > GetAssertInfo(void)
Assert条件,ファイル名,行番号を返す関数
Definition ARCSassert.cc:150
bool IsRealtimeMode(void)
リアルタイムモードかどうか返す関数
Definition ARCSassert.cc:87