source: dev/trunk/ab5.0/abdev/ab_common/include/Lexical/Resolver.h@ 829

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

svn:eol-styleとsvn:mime-type(文字コード指定含む)の設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain; charset=Shift_JIS
File size: 1.6 KB
Line 
1#pragma once
2
3namespace ActiveBasic{ namespace Common{ namespace Lexical{
4
5
6class ResolveError
7{
8 int relationalObjectModuleIndex;
9 std::string targetItemName;
10public:
11 ResolveError( int relationalObjectModuleIndex, const std::string targetItemName )
12 : relationalObjectModuleIndex( relationalObjectModuleIndex )
13 , targetItemName( targetItemName )
14 {
15 }
16
17 ResolveError(ResolveError&& y)
18 : relationalObjectModuleIndex(std::move(y.relationalObjectModuleIndex))
19 , targetItemName(std::move(y.targetItemName))
20 {
21 }
22
23 ResolveError(ResolveError const& y)
24 : relationalObjectModuleIndex(y.relationalObjectModuleIndex)
25 , targetItemName(y.targetItemName)
26 {
27 }
28
29 ResolveError& operator =(ResolveError&& y)
30 {
31 relationalObjectModuleIndex = std::move(y.relationalObjectModuleIndex);
32 targetItemName = std::move(y.targetItemName);
33 return *this;
34 }
35
36 ResolveError& operator =(ResolveError const& y)
37 {
38 return *this = std::move(ResolveError(y));
39 }
40
41 int GetRelationalObjectModuleIndex() const
42 {
43 return relationalObjectModuleIndex;
44 }
45 const std::string &GetTargetItemName() const
46 {
47 return targetItemName;
48 }
49};
50class ResolveErrors
51 : public std::vector<ResolveError>
52{
53public:
54 ResolveErrors() {}
55 ResolveErrors(ResolveErrors&& y) : std::vector<ResolveError>(std::move(y)) {}
56 ResolveErrors(ResolveErrors const& y) : std::vector<ResolveError>(y) {}
57 ResolveErrors& operator =(ResolveErrors&& y)
58 {
59 std::vector<ResolveError>::operator =(std::move(y));
60 return *this;
61 }
62 ResolveErrors& operator =(ResolveErrors const& y)
63 {
64 return *this = std::move(ResolveErrors(y));
65 }
66
67 void Add( const ResolveError &resolveError )
68 {
69 this->push_back( resolveError );
70 }
71};
72
73
74}}}
Note: See TracBrowser for help on using the repository browser.