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 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 template<typename... UnboundArgs, typename FunctionType, typename... BoundArgs> | 347 template<typename... UnboundArgs, typename FunctionType, typename... BoundArgs> |
348 PassOwnPtr<Function<typename FunctionWrapper<FunctionType>::ResultType(UnboundAr
gs...)>> bind(FunctionType function, const BoundArgs&... boundArgs) | 348 PassOwnPtr<Function<typename FunctionWrapper<FunctionType>::ResultType(UnboundAr
gs...)>> bind(FunctionType function, const BoundArgs&... boundArgs) |
349 { | 349 { |
350 const int boundArgsCount = sizeof...(BoundArgs); | 350 const int boundArgsCount = sizeof...(BoundArgs); |
351 using BoundFunctionType = PartBoundFunctionImpl<boundArgsCount, FunctionWrap
per<FunctionType>, typename FunctionWrapper<FunctionType>::ResultType(BoundArgs.
.., UnboundArgs...)>; | 351 using BoundFunctionType = PartBoundFunctionImpl<boundArgsCount, FunctionWrap
per<FunctionType>, typename FunctionWrapper<FunctionType>::ResultType(BoundArgs.
.., UnboundArgs...)>; |
352 return adoptPtr(new BoundFunctionType(FunctionWrapper<FunctionType>(function
), boundArgs...)); | 352 return adoptPtr(new BoundFunctionType(FunctionWrapper<FunctionType>(function
), boundArgs...)); |
353 } | 353 } |
354 | 354 |
355 typedef Function<void()> Closure; | 355 typedef Function<void()> Closure; |
356 | 356 |
357 } | 357 } // namespace WTF |
358 | 358 |
359 using WTF::Function; | 359 using WTF::Function; |
360 using WTF::bind; | 360 using WTF::bind; |
361 using WTF::Closure; | 361 using WTF::Closure; |
362 | 362 |
363 #endif // WTF_Functional_h | 363 #endif // WTF_Functional_h |
OLD | NEW |