Equality operator. ! \note When any pointers are invalid, always returns false. */
| 332 | \note When any pointers are invalid, always returns false. |
| 333 | */ |
| 334 | bool operator==(const GenericPointer& rhs) const { |
| 335 | if (!IsValid() || !rhs.IsValid() || tokenCount_ != rhs.tokenCount_) |
| 336 | return false; |
| 337 | |
| 338 | for (size_t i = 0; i < tokenCount_; i++) { |
| 339 | if (tokens_[i].index != rhs.tokens_[i].index || |
| 340 | tokens_[i].length != rhs.tokens_[i].length || |
| 341 | (tokens_[i].length != 0 && std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch)* tokens_[i].length) != 0)) |
| 342 | { |
| 343 | return false; |
| 344 | } |
| 345 | } |
| 346 | |
| 347 | return true; |
| 348 | } |
| 349 | |
| 350 | //! Inequality operator. |
| 351 | /*! |