Advanced Robot Control System  5.1-REV.51SF170515
ARCSassert.hh
[詳解]
1 //
6 // Copyright (C) 2011-2017 Yuki YOKOKURA
7 // This program is free software;
8 // you can redistribute it and/or modify it under the terms of the FreeBSD License.
9 // For details, see the License.txt file.
10 
11 #ifndef ARCSASSERT
12 #define ARCSASSERT
13 
14 #include "VariableParams.hh"
15 
16 // 関数呼び出し用マクロ
17 #define assert(a) (ARCSassert::__assert(a,#a,__FILE__,__LINE__))
18 
19 namespace ARCS { // ARCS名前空間
21  class ARCSassert {
22  public:
23  static VariableParams* vars;
24  static void __assert(bool assertion, const std::string& condition, const std::string& file, const int line);
25 
26  private:
27  ARCSassert(); // コンストラクタ禁止
28  ~ARCSassert(); // デストラクタ禁止
29  ARCSassert(const ARCSassert&); // コピーコンストラクタ使用禁止
30  const ARCSassert& operator=(const ARCSassert&); // 代入演算子使用禁止
31  };
32 }
33 
34 #endif
35 
ARCS用ASSERTクラス
Definition: ARCSassert.hh:21
static void __assert(bool assertion, const std::string &condition, const std::string &file, const int line)
ARCS用assert関数(マクロから呼ばれることを想定)
Definition: ARCSassert.cc:24
static VariableParams * vars
VariableParamsポインタ
Definition: ARCSassert.hh:23
Definition: ControlFunctions.hh:17
const ARCSassert & operator=(const ARCSassert &)
Definition: VariableParams.hh:23