| 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 26 matching lines...) Expand all Loading... |
| 37 // having its destructor called. This implementation internally | 37 // having its destructor called. This implementation internally |
| 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 blink::ValueToString<T> { | 47 // template<> struct ValueToString<T> { |
| 48 // static String string(const T& t); | 48 // static String string(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. |
| (...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 Node* m_root; | 819 Node* m_root; |
| 820 bool m_needsFullOrderingComparisons; | 820 bool m_needsFullOrderingComparisons; |
| 821 #ifndef NDEBUG | 821 #ifndef NDEBUG |
| 822 bool m_verboseDebugging; | 822 bool m_verboseDebugging; |
| 823 #endif | 823 #endif |
| 824 }; | 824 }; |
| 825 | 825 |
| 826 } // namespace blink | 826 } // namespace blink |
| 827 | 827 |
| 828 #endif // PODRedBlackTree_h | 828 #endif // PODRedBlackTree_h |
| OLD | NEW |