Equality operator. ! \note When any pointers are invalid, always returns false. */
| 362 | \note When any pointers are invalid, always returns false. |
| 363 | */ |
| 364 | bool operator==(const GenericPointer& rhs) const { |
| 365 | if (!IsValid() || !rhs.IsValid() || tokenCount_ != rhs.tokenCount_) |
| 366 | return false; |
| 367 | |
| 368 | for (size_t i = 0; i < tokenCount_; i++) { |
| 369 | if (tokens_[i].index != rhs.tokens_[i].index || |
| 370 | tokens_[i].length != rhs.tokens_[i].length || |
| 371 | (tokens_[i].length != 0 && std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch)* tokens_[i].length) != 0)) |
| 372 | { |
| 373 | return false; |
| 374 | } |
| 375 | } |
| 376 | |
| 377 | return true; |
| 378 | } |
| 379 | |
| 380 | //! Inequality operator. |
| 381 | /*! |