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 WebCore::ValueToString<T> { | 47 // template<> struct blink::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 17 matching lines...) Expand all Loading... |
75 #include "platform/PODFreeListArena.h" | 75 #include "platform/PODFreeListArena.h" |
76 #include "wtf/Assertions.h" | 76 #include "wtf/Assertions.h" |
77 #include "wtf/Noncopyable.h" | 77 #include "wtf/Noncopyable.h" |
78 #include "wtf/RefPtr.h" | 78 #include "wtf/RefPtr.h" |
79 #ifndef NDEBUG | 79 #ifndef NDEBUG |
80 #include "wtf/text/CString.h" | 80 #include "wtf/text/CString.h" |
81 #include "wtf/text/StringBuilder.h" | 81 #include "wtf/text/StringBuilder.h" |
82 #include "wtf/text/WTFString.h" | 82 #include "wtf/text/WTFString.h" |
83 #endif | 83 #endif |
84 | 84 |
85 namespace WebCore { | 85 namespace blink { |
86 | 86 |
87 #ifndef NDEBUG | 87 #ifndef NDEBUG |
88 template<class T> | 88 template<class T> |
89 struct ValueToString; | 89 struct ValueToString; |
90 #endif | 90 #endif |
91 | 91 |
92 enum UninitializedTreeEnum { | 92 enum UninitializedTreeEnum { |
93 UninitializedTree | 93 UninitializedTree |
94 }; | 94 }; |
95 | 95 |
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 // Data members | 816 // Data members |
817 | 817 |
818 RefPtr<PODFreeListArena<Node> > m_arena; | 818 RefPtr<PODFreeListArena<Node> > m_arena; |
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 WebCore | 826 } // namespace blink |
827 | 827 |
828 #endif // PODRedBlackTree_h | 828 #endif // PODRedBlackTree_h |
OLD | NEW |