Append a token and return a new Pointer ! \param token Token to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */
| 209 | \return A new Pointer with appended token. |
| 210 | */ |
| 211 | GenericPointer Append(const Token& token, Allocator* allocator = 0) const { |
| 212 | GenericPointer r; |
| 213 | r.allocator_ = allocator; |
| 214 | Ch *p = r.CopyFromRaw(*this, 1, token.length + 1); |
| 215 | std::memcpy(p, token.name, (token.length + 1) * sizeof(Ch)); |
| 216 | r.tokens_[tokenCount_].name = p; |
| 217 | r.tokens_[tokenCount_].length = token.length; |
| 218 | r.tokens_[tokenCount_].index = token.index; |
| 219 | return r; |
| 220 | } |
| 221 | |
| 222 | //! Append a name token with length, and return a new Pointer |
| 223 | /*! |