OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
3 * Copyright (C) 2009 Google Inc. All rights reserved. | 3 * Copyright (C) 2009 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 | 143 |
144 void clear(); | 144 void clear(); |
145 | 145 |
146 template <typename VisitorDispatcher> | 146 template <typename VisitorDispatcher> |
147 void Trace(VisitorDispatcher); | 147 void Trace(VisitorDispatcher); |
148 | 148 |
149 static_assert(!std::is_polymorphic<T>::value || | 149 static_assert(!std::is_polymorphic<T>::value || |
150 !VectorTraits<T>::kCanInitializeWithMemset, | 150 !VectorTraits<T>::kCanInitializeWithMemset, |
151 "Cannot initialize with memset if there is a vtable"); | 151 "Cannot initialize with memset if there is a vtable"); |
152 static_assert(Allocator::kIsGarbageCollected || | 152 static_assert(Allocator::kIsGarbageCollected || |
153 !AllowsOnlyPlacementNew<T>::value || | 153 !AllowsOnlyPlacementNew<T>::value || !IsTraceable<T>::value, |
154 !IsTraceable<T>::value, | |
155 "Cannot put DISALLOW_NEW_EXCEPT_PLACEMENT_NEW objects that " | 154 "Cannot put DISALLOW_NEW_EXCEPT_PLACEMENT_NEW objects that " |
156 "have trace methods into an off-heap Deque"); | 155 "have trace methods into an off-heap Deque"); |
157 static_assert(Allocator::kIsGarbageCollected || | 156 static_assert(Allocator::kIsGarbageCollected || |
158 !IsPointerToGarbageCollectedType<T>::value, | 157 !IsPointerToGarbageCollectedType<T>::value, |
159 "Cannot put raw pointers to garbage-collected classes into a " | 158 "Cannot put raw pointers to garbage-collected classes into a " |
160 "Deque. Use HeapDeque<Member<T>> instead."); | 159 "Deque. Use HeapDeque<Member<T>> instead."); |
161 | 160 |
162 private: | 161 private: |
163 friend class DequeIteratorBase<T, inlineCapacity, Allocator>; | 162 friend class DequeIteratorBase<T, inlineCapacity, Allocator>; |
164 | 163 |
(...skipping 532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
697 inline void swap(Deque<T, inlineCapacity, Allocator>& a, | 696 inline void swap(Deque<T, inlineCapacity, Allocator>& a, |
698 Deque<T, inlineCapacity, Allocator>& b) { | 697 Deque<T, inlineCapacity, Allocator>& b) { |
699 a.Swap(b); | 698 a.Swap(b); |
700 } | 699 } |
701 | 700 |
702 } // namespace WTF | 701 } // namespace WTF |
703 | 702 |
704 using WTF::Deque; | 703 using WTF::Deque; |
705 | 704 |
706 #endif // WTF_Deque_h | 705 #endif // WTF_Deque_h |
OLD | NEW |