| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 R(C::*m_function)(P...); | 92 R(C::*m_function)(P...); |
| 93 }; | 93 }; |
| 94 | 94 |
| 95 template<typename T> struct ParamStorageTraits { | 95 template<typename T> struct ParamStorageTraits { |
| 96 typedef T StorageType; | 96 typedef T StorageType; |
| 97 | 97 |
| 98 static StorageType wrap(const T& value) { return value; } | 98 static StorageType wrap(const T& value) { return value; } |
| 99 static const T& unwrap(const StorageType& value) { return value; } | 99 static const T& unwrap(const StorageType& value) { return value; } |
| 100 }; | 100 }; |
| 101 | 101 |
| 102 template<typename T> struct ParamStorageTraits<PassRefPtr<T> > { | 102 template<typename T> struct ParamStorageTraits<PassRefPtr<T>> { |
| 103 typedef RefPtr<T> StorageType; | 103 typedef RefPtr<T> StorageType; |
| 104 | 104 |
| 105 static StorageType wrap(PassRefPtr<T> value) { return value; } | 105 static StorageType wrap(PassRefPtr<T> value) { return value; } |
| 106 static T* unwrap(const StorageType& value) { return value.get(); } | 106 static T* unwrap(const StorageType& value) { return value.get(); } |
| 107 }; | 107 }; |
| 108 | 108 |
| 109 template<typename T> struct ParamStorageTraits<RefPtr<T> > { | 109 template<typename T> struct ParamStorageTraits<RefPtr<T>> { |
| 110 typedef RefPtr<T> StorageType; | 110 typedef RefPtr<T> StorageType; |
| 111 | 111 |
| 112 static StorageType wrap(RefPtr<T> value) { return value.release(); } | 112 static StorageType wrap(RefPtr<T> value) { return value.release(); } |
| 113 static T* unwrap(const StorageType& value) { return value.get(); } | 113 static T* unwrap(const StorageType& value) { return value.get(); } |
| 114 }; | 114 }; |
| 115 | 115 |
| 116 template<typename> class RetainPtr; | 116 template<typename> class RetainPtr; |
| 117 | 117 |
| 118 template<typename T> struct ParamStorageTraits<RetainPtr<T> > { | 118 template<typename T> struct ParamStorageTraits<RetainPtr<T>> { |
| 119 typedef RetainPtr<T> StorageType; | 119 typedef RetainPtr<T> StorageType; |
| 120 | 120 |
| 121 static StorageType wrap(const RetainPtr<T>& value) { return value; } | 121 static StorageType wrap(const RetainPtr<T>& value) { return value; } |
| 122 static typename RetainPtr<T>::PtrType unwrap(const StorageType& value) { ret
urn value.get(); } | 122 static typename RetainPtr<T>::PtrType unwrap(const StorageType& value) { ret
urn value.get(); } |
| 123 }; | 123 }; |
| 124 | 124 |
| 125 class FunctionImplBase : public ThreadSafeRefCounted<FunctionImplBase> { | 125 class FunctionImplBase : public ThreadSafeRefCounted<FunctionImplBase> { |
| 126 public: | 126 public: |
| 127 virtual ~FunctionImplBase() { } | 127 virtual ~FunctionImplBase() { } |
| 128 }; | 128 }; |
| (...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 | 566 |
| 567 typedef Function<void()> Closure; | 567 typedef Function<void()> Closure; |
| 568 | 568 |
| 569 } | 569 } |
| 570 | 570 |
| 571 using WTF::Function; | 571 using WTF::Function; |
| 572 using WTF::bind; | 572 using WTF::bind; |
| 573 using WTF::Closure; | 573 using WTF::Closure; |
| 574 | 574 |
| 575 #endif // WTF_Functional_h | 575 #endif // WTF_Functional_h |
| OLD | NEW |