| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 /* |  | 
| 2  * Copyright (C) 2009 Apple Inc. All rights reserved. |  | 
| 3  * Copyright (C) 2009 Google Inc. All rights reserved. |  | 
| 4  * |  | 
| 5  * Redistribution and use in source and binary forms, with or without |  | 
| 6  * modification, are permitted provided that the following conditions |  | 
| 7  * are met: |  | 
| 8  * 1. Redistributions of source code must retain the above copyright |  | 
| 9  *    notice, this list of conditions and the following disclaimer. |  | 
| 10  * 2. Redistributions in binary form must reproduce the above copyright |  | 
| 11  *    notice, this list of conditions and the following disclaimer in the |  | 
| 12  *    documentation and/or other materials provided with the distribution. |  | 
| 13  * |  | 
| 14  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY |  | 
| 15  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |  | 
| 16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |  | 
| 17  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR |  | 
| 18  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |  | 
| 19  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |  | 
| 20  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |  | 
| 21  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |  | 
| 22  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  | 
| 23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  | 
| 24  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | 
| 25  */ |  | 
| 26 |  | 
| 27 #ifndef Uint32Array_h |  | 
| 28 #define Uint32Array_h |  | 
| 29 |  | 
| 30 #include <wtf/IntegralTypedArrayBase.h> |  | 
| 31 |  | 
| 32 namespace WTF { |  | 
| 33 |  | 
| 34 class ArrayBuffer; |  | 
| 35 |  | 
| 36 class Uint32Array : public IntegralTypedArrayBase<unsigned int> { |  | 
| 37 public: |  | 
| 38     static inline PassRefPtr<Uint32Array> create(unsigned length); |  | 
| 39     static inline PassRefPtr<Uint32Array> create(const unsigned int* array, unsi
     gned length); |  | 
| 40     static inline PassRefPtr<Uint32Array> create(PassRefPtr<ArrayBuffer>, unsign
     ed byteOffset, unsigned length); |  | 
| 41 |  | 
| 42     // Should only be used when it is known the entire array will be filled. Do |  | 
| 43     // not return these results directly to JavaScript without filling first. |  | 
| 44     static inline PassRefPtr<Uint32Array> createUninitialized(unsigned length); |  | 
| 45 |  | 
| 46     using TypedArrayBase<unsigned>::set; |  | 
| 47     using IntegralTypedArrayBase<unsigned>::set; |  | 
| 48 |  | 
| 49     inline PassRefPtr<Uint32Array> subarray(int start) const; |  | 
| 50     inline PassRefPtr<Uint32Array> subarray(int start, int end) const; |  | 
| 51 |  | 
| 52     virtual ViewType getType() const |  | 
| 53     { |  | 
| 54         return TypeUint32; |  | 
| 55     } |  | 
| 56 |  | 
| 57 private: |  | 
| 58     inline Uint32Array(PassRefPtr<ArrayBuffer>, |  | 
| 59                           unsigned byteOffset, |  | 
| 60                           unsigned length); |  | 
| 61     // Make constructor visible to superclass. |  | 
| 62     friend class TypedArrayBase<unsigned int>; |  | 
| 63 }; |  | 
| 64 |  | 
| 65 PassRefPtr<Uint32Array> Uint32Array::create(unsigned length) |  | 
| 66 { |  | 
| 67     return TypedArrayBase<unsigned int>::create<Uint32Array>(length); |  | 
| 68 } |  | 
| 69 |  | 
| 70 PassRefPtr<Uint32Array> Uint32Array::create(const unsigned int* array, unsigned 
     length) |  | 
| 71 { |  | 
| 72     return TypedArrayBase<unsigned int>::create<Uint32Array>(array, length); |  | 
| 73 } |  | 
| 74 |  | 
| 75 PassRefPtr<Uint32Array> Uint32Array::create(PassRefPtr<ArrayBuffer> buffer, unsi
     gned byteOffset, unsigned length) |  | 
| 76 { |  | 
| 77     return TypedArrayBase<unsigned int>::create<Uint32Array>(buffer, byteOffset,
      length); |  | 
| 78 } |  | 
| 79 |  | 
| 80 PassRefPtr<Uint32Array> Uint32Array::createUninitialized(unsigned length) |  | 
| 81 { |  | 
| 82     return TypedArrayBase<unsigned int>::createUninitialized<Uint32Array>(length
     ); |  | 
| 83 } |  | 
| 84 |  | 
| 85 Uint32Array::Uint32Array(PassRefPtr<ArrayBuffer> buffer, unsigned byteOffset, un
     signed length) |  | 
| 86     : IntegralTypedArrayBase<unsigned int>(buffer, byteOffset, length) |  | 
| 87 { |  | 
| 88 } |  | 
| 89 |  | 
| 90 PassRefPtr<Uint32Array> Uint32Array::subarray(int start) const |  | 
| 91 { |  | 
| 92     return subarray(start, length()); |  | 
| 93 } |  | 
| 94 |  | 
| 95 PassRefPtr<Uint32Array> Uint32Array::subarray(int start, int end) const |  | 
| 96 { |  | 
| 97     return subarrayImpl<Uint32Array>(start, end); |  | 
| 98 } |  | 
| 99 |  | 
| 100 } // namespace WTF |  | 
| 101 |  | 
| 102 using WTF::Uint32Array; |  | 
| 103 |  | 
| 104 #endif // Uint32Array_h |  | 
| OLD | NEW | 
|---|