| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 // allocates storage in large chunks and does not call the destructor | 38 // allocates storage in large chunks and does not call the destructor |
| 39 // on each object. | 39 // on each object. |
| 40 // | 40 // |
| 41 // Type T must supply a default constructor, a copy constructor, and | 41 // Type T must supply a default constructor, a copy constructor, and |
| 42 // the "<" and "==" operators. | 42 // the "<" and "==" operators. |
| 43 // | 43 // |
| 44 // In debug mode, printing of the data contained in the tree is | 44 // In debug mode, printing of the data contained in the tree is |
| 45 // enabled. This requires the template specialization to be available: | 45 // enabled. This requires the template specialization to be available: |
| 46 // | 46 // |
| 47 // template<> struct ValueToString<T> { | 47 // template<> struct ValueToString<T> { |
| 48 // static String string(const T& t); | 48 // static String toString(const T& t); |
| 49 // }; | 49 // }; |
| 50 // | 50 // |
| 51 // Note that when complex types are stored in this red/black tree, it | 51 // Note that when complex types are stored in this red/black tree, it |
| 52 // is possible that single invocations of the "<" and "==" operators | 52 // is possible that single invocations of the "<" and "==" operators |
| 53 // will be insufficient to describe the ordering of elements in the | 53 // will be insufficient to describe the ordering of elements in the |
| 54 // tree during queries. As a concrete example, consider the case where | 54 // tree during queries. As a concrete example, consider the case where |
| 55 // intervals are stored in the tree sorted by low endpoint. The "<" | 55 // intervals are stored in the tree sorted by low endpoint. The "<" |
| 56 // operator on the Interval class only compares the low endpoint, but | 56 // operator on the Interval class only compares the low endpoint, but |
| 57 // the "==" operator takes into account the high endpoint as well. | 57 // the "==" operator takes into account the high endpoint as well. |
| 58 // This makes the necessary logic for querying and deletion somewhat | 58 // This makes the necessary logic for querying and deletion somewhat |
| (...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 823 Node* m_root; | 823 Node* m_root; |
| 824 bool m_needsFullOrderingComparisons; | 824 bool m_needsFullOrderingComparisons; |
| 825 #ifndef NDEBUG | 825 #ifndef NDEBUG |
| 826 bool m_verboseDebugging; | 826 bool m_verboseDebugging; |
| 827 #endif | 827 #endif |
| 828 }; | 828 }; |
| 829 | 829 |
| 830 } // namespace blink | 830 } // namespace blink |
| 831 | 831 |
| 832 #endif // PODRedBlackTree_h | 832 #endif // PODRedBlackTree_h |
| OLD | NEW |