Public Methods | |
| symbol_marker () | |
| symbol_marker (int a_ptr, char a_pattern, int a_intro) | |
| symbol_marker (const symbol_marker& other) | |
| void | set (int a_ptr, char a_pattern, int a_intro) |
Public Attributes | |
| int | ptr |
| char | pattern |
| int | intro |
Static Public Methods | |
| symbol_marker& | get_lowest (symbol_marker markers[], int last) |
|
|
Definition at line 83 of file cmt_symbol.cxx. 00084 {
00085 ptr = cmt_string::npos;
00086 pattern = 0;
00087 intro = 0;
00088 }
|
|
|
Definition at line 90 of file cmt_symbol.cxx. 00091 {
00092 ptr = a_ptr;
00093 pattern = a_pattern;
00094 intro = a_intro;
00095 }
|
|
|
Definition at line 97 of file cmt_symbol.cxx. 00098 {
00099 ptr = other.ptr;
00100 pattern = other.pattern;
00101 intro = other.intro;
00102 }
|
|
|
Definition at line 111 of file cmt_symbol.cxx. Referenced by Symbol::resolve_macro_value(), resolve_value(), resolve_value_for_macros(), and suppress_OS_delimiters(). 00112 {
00113 static symbol_marker result;
00114
00115 // discards trailing npos
00116 while ((last >= 0) && (markers[last].ptr == cmt_string::npos)) last--;
00117
00118 if (last < 0) return (result);
00119
00120 int i;
00121
00122 // since we've passed the previous test,
00123 // at least one entry (last) is not npos.
00124 // Now discards other npos by moving them to the end
00125
00126 for (i = 0; i <= last; i++)
00127 {
00128 if (markers[i].ptr == cmt_string::npos)
00129 {
00130 markers[i] = markers[last];
00131 last--;
00132 if (last < 0) break;
00133 }
00134 }
00135
00136 if (last < 0) return (result);
00137
00138 // now all entries in [0, last] are not npos
00139 // let's sort the lowest one in [0]
00140
00141 for (i = 1; i <= last;)
00142 {
00143 if (markers[0].ptr > markers[i].ptr)
00144 {
00145 symbol_marker temp = markers[0];
00146 markers[0] = markers[i];
00147 markers[i] = temp;
00148 i = 1;
00149 }
00150 else
00151 {
00152 i++;
00153 if (i > last) break;
00154 }
00155 }
00156
00157 return (markers[0]);
00158 }
|
|
|
Definition at line 104 of file cmt_symbol.cxx. Referenced by Symbol::resolve_macro_value(), resolve_value(), resolve_value_for_macros(), and suppress_OS_delimiters(). 00105 {
00106 ptr = a_ptr;
00107 pattern = a_pattern;
00108 intro = a_intro;
00109 }
|
|
|
Definition at line 162 of file cmt_symbol.cxx. |
|
|
Definition at line 161 of file cmt_symbol.cxx. |
|
|
Definition at line 160 of file cmt_symbol.cxx. |
1.2.3 written by Dimitri van Heesch,
© 1997-2000