Changeset 29470 in webkit for trunk/JavaScriptCore/wtf/Vector.h
- Timestamp:
- Jan 14, 2008, 9:51:10 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/wtf/Vector.h
r29064 r29470 1 1 // -*- mode: c++; c-basic-offset: 4 -*- 2 2 /* 3 * This file is part of the KDE libraries 4 * Copyright (C) 2005, 2006 Apple Computer, Inc. 3 * Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. 5 4 * 6 5 * This library is free software; you can redistribute it and/or … … 402 401 403 402 explicit Vector(size_t size) 404 : m_size(0) 405 { 406 resize(size); 403 : m_size(size) 404 , m_impl(size) 405 { 406 TypeOperations::initialize(begin(), end()); 407 407 } 408 408 … … 456 456 void reserveCapacity(size_t newCapacity); 457 457 458 void clear() { shrink(0); }458 void clear() { if (m_size) shrink(0); } 459 459 460 460 template<typename U> void append(const U*, size_t); … … 775 775 776 776 template<typename T, size_t inlineCapacity> 777 T* Vector<T, inlineCapacity>::releaseBuffer()777 inline T* Vector<T, inlineCapacity>::releaseBuffer() 778 778 { 779 779 T* buffer = m_impl.releaseBuffer(); 780 if ( !buffer && m_size) {780 if (inlineCapacity && !buffer && m_size) { 781 781 // If the vector had some data, but no buffer to release, 782 782 // that means it was using the inline buffer. In that case, … … 786 786 memcpy(buffer, data(), bytes); 787 787 } 788 ASSERT(buffer); 788 789 m_size = 0; 789 790 return buffer;
Note:
See TracChangeset
for help on using the changeset viewer.