source: dev/branches/egtra/ab5.0/abdev/BasicCompiler_Common/include/BreakPoint.h@ 821

Last change on this file since 821 was 817, checked in by イグトランス (egtra), 14 years ago

compilerにおいて、各クラスのコピー禁止を明確化、ならびにコピー可能なものにムーブコンストラクタ・ムーブ代入演算子を追加。

File size: 1.3 KB
Line 
1
2
3class BreakPointsPerFile
4{
5public:
6 std::string filename;
7 std::vector<int> lines;
8
9 BreakPointsPerFile(const char *lpszFileName,int iLineNum);
10
11 BreakPointsPerFile(BreakPointsPerFile&& y)
12 : filename(std::move(y.filename))
13 , lines(std::move(y.lines))
14 {
15 }
16
17 BreakPointsPerFile(BreakPointsPerFile const& y)
18 : filename(y.filename)
19 , lines(y.lines)
20 {
21 }
22
23 BreakPointsPerFile& operator =(BreakPointsPerFile&& y)
24 {
25 filename = std::move(y.filename);
26 lines = std::move(y.lines);
27 return *this;
28 }
29
30 BreakPointsPerFile& operator =(BreakPointsPerFile const& y)
31 {
32 return *this = std::move(BreakPointsPerFile(y));
33 }
34
35 void add(int iLineNum);
36 void remove(int iLineNum);
37
38 void update( char *nativeCodeBuffer, const SourceLines &sourceLines );
39
40};
41typedef std::vector<BreakPointsPerFile> BreakPointsPerFiles;
42
43class BreakPointManager
44{
45 BreakPointsPerFiles breakpointsPerFiles;
46
47public:
48 BreakPointManager();
49
50 void insert(const char *lpszFileName,int iLineNum);
51 void remove(const char *lpszFileName,int iLineNum);
52
53 char *update( char *nativeCodeBuffer, int SizeOf_CodeSection, const SourceLines &sourceLines );
54
55private:
56 BreakPointManager(BreakPointManager const&);
57 BreakPointManager& operator =(BreakPointManager const&);
58};
59
60
61extern BreakPointManager *pobj_DBBreakPoint;
Note: See TracBrowser for help on using the repository browser.