| 115 | } |
| 116 | |
| 117 | static const char* GetNamespaceEnd(const char* name) |
| 118 | { |
| 119 | int templateDepth = 0; |
| 120 | const char* lastDblColon = NULL; |
| 121 | for (const char* checkPtr = name; *checkPtr != '\0'; checkPtr++) |
| 122 | { |
| 123 | char c = checkPtr[0]; |
| 124 | if ((c == '<') || (c == ' ')) |
| 125 | return NULL; |
| 126 | if ((c == ':') && (checkPtr[1] == ':')) |
| 127 | lastDblColon = checkPtr; |
| 128 | } |
| 129 | return lastDblColon; |
| 130 | } |
| 131 | |
| 132 | // This version inserts namespaces that contain specialized methods, but since we don't (at the time of this comment) support |
| 133 | // calling specialized methods, we don't bother doing this -- it increases the scan time |