| OLD | NEW |
| 1 // This file was GENERATED by command: | 1 // This file was GENERATED by command: |
| 2 // pump.py callback.h.pump | 2 // pump.py callback.h.pump |
| 3 // DO NOT EDIT BY HAND!!! | 3 // DO NOT EDIT BY HAND!!! |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 7 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 8 // Use of this source code is governed by a BSD-style license that can be | 8 // Use of this source code is governed by a BSD-style license that can be |
| 9 // found in the LICENSE file. | 9 // found in the LICENSE file. |
| 10 | 10 |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 template <typename T> | 251 template <typename T> |
| 252 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 252 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 253 : CallbackBase( | 253 : CallbackBase( |
| 254 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 254 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 255 &invoker_holder.invoker_storage_) { | 255 &invoker_holder.invoker_storage_) { |
| 256 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 256 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 257 typename T::Invoker::DoInvokeType>::value), | 257 typename T::Invoker::DoInvokeType>::value), |
| 258 callback_type_does_not_match_bind_result); | 258 callback_type_does_not_match_bind_result); |
| 259 } | 259 } |
| 260 | 260 |
| 261 bool Equals(const Callback& other) const { |
| 262 return CallbackBase::Equals(other); |
| 263 } |
| 264 |
| 261 R Run() const { | 265 R Run() const { |
| 262 PolymorphicInvoke f = | 266 PolymorphicInvoke f = |
| 263 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 267 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 264 | 268 |
| 265 return f(invoker_storage_.get()); | 269 return f(invoker_storage_.get()); |
| 266 } | 270 } |
| 267 }; | 271 }; |
| 268 | 272 |
| 269 template <typename R, typename A1> | 273 template <typename R, typename A1> |
| 270 class Callback<R(A1)> : public internal::CallbackBase { | 274 class Callback<R(A1)> : public internal::CallbackBase { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 285 template <typename T> | 289 template <typename T> |
| 286 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 290 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 287 : CallbackBase( | 291 : CallbackBase( |
| 288 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 292 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 289 &invoker_holder.invoker_storage_) { | 293 &invoker_holder.invoker_storage_) { |
| 290 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 294 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 291 typename T::Invoker::DoInvokeType>::value), | 295 typename T::Invoker::DoInvokeType>::value), |
| 292 callback_type_does_not_match_bind_result); | 296 callback_type_does_not_match_bind_result); |
| 293 } | 297 } |
| 294 | 298 |
| 299 bool Equals(const Callback& other) const { |
| 300 return CallbackBase::Equals(other); |
| 301 } |
| 302 |
| 295 R Run(typename internal::ParamTraits<A1>::ForwardType a1) const { | 303 R Run(typename internal::ParamTraits<A1>::ForwardType a1) const { |
| 296 PolymorphicInvoke f = | 304 PolymorphicInvoke f = |
| 297 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 305 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 298 | 306 |
| 299 return f(invoker_storage_.get(), a1); | 307 return f(invoker_storage_.get(), a1); |
| 300 } | 308 } |
| 301 }; | 309 }; |
| 302 | 310 |
| 303 template <typename R, typename A1, typename A2> | 311 template <typename R, typename A1, typename A2> |
| 304 class Callback<R(A1, A2)> : public internal::CallbackBase { | 312 class Callback<R(A1, A2)> : public internal::CallbackBase { |
| (...skipping 15 matching lines...) Expand all Loading... |
| 320 template <typename T> | 328 template <typename T> |
| 321 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 329 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 322 : CallbackBase( | 330 : CallbackBase( |
| 323 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 331 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 324 &invoker_holder.invoker_storage_) { | 332 &invoker_holder.invoker_storage_) { |
| 325 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 333 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 326 typename T::Invoker::DoInvokeType>::value), | 334 typename T::Invoker::DoInvokeType>::value), |
| 327 callback_type_does_not_match_bind_result); | 335 callback_type_does_not_match_bind_result); |
| 328 } | 336 } |
| 329 | 337 |
| 338 bool Equals(const Callback& other) const { |
| 339 return CallbackBase::Equals(other); |
| 340 } |
| 341 |
| 330 R Run(typename internal::ParamTraits<A1>::ForwardType a1, | 342 R Run(typename internal::ParamTraits<A1>::ForwardType a1, |
| 331 typename internal::ParamTraits<A2>::ForwardType a2) const { | 343 typename internal::ParamTraits<A2>::ForwardType a2) const { |
| 332 PolymorphicInvoke f = | 344 PolymorphicInvoke f = |
| 333 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 345 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 334 | 346 |
| 335 return f(invoker_storage_.get(), a1, | 347 return f(invoker_storage_.get(), a1, |
| 336 a2); | 348 a2); |
| 337 } | 349 } |
| 338 }; | 350 }; |
| 339 | 351 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 358 template <typename T> | 370 template <typename T> |
| 359 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 371 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 360 : CallbackBase( | 372 : CallbackBase( |
| 361 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 373 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 362 &invoker_holder.invoker_storage_) { | 374 &invoker_holder.invoker_storage_) { |
| 363 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 375 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 364 typename T::Invoker::DoInvokeType>::value), | 376 typename T::Invoker::DoInvokeType>::value), |
| 365 callback_type_does_not_match_bind_result); | 377 callback_type_does_not_match_bind_result); |
| 366 } | 378 } |
| 367 | 379 |
| 380 bool Equals(const Callback& other) const { |
| 381 return CallbackBase::Equals(other); |
| 382 } |
| 383 |
| 368 R Run(typename internal::ParamTraits<A1>::ForwardType a1, | 384 R Run(typename internal::ParamTraits<A1>::ForwardType a1, |
| 369 typename internal::ParamTraits<A2>::ForwardType a2, | 385 typename internal::ParamTraits<A2>::ForwardType a2, |
| 370 typename internal::ParamTraits<A3>::ForwardType a3) const { | 386 typename internal::ParamTraits<A3>::ForwardType a3) const { |
| 371 PolymorphicInvoke f = | 387 PolymorphicInvoke f = |
| 372 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 388 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 373 | 389 |
| 374 return f(invoker_storage_.get(), a1, | 390 return f(invoker_storage_.get(), a1, |
| 375 a2, | 391 a2, |
| 376 a3); | 392 a3); |
| 377 } | 393 } |
| (...skipping 21 matching lines...) Expand all Loading... |
| 399 template <typename T> | 415 template <typename T> |
| 400 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 416 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 401 : CallbackBase( | 417 : CallbackBase( |
| 402 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 418 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 403 &invoker_holder.invoker_storage_) { | 419 &invoker_holder.invoker_storage_) { |
| 404 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 420 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 405 typename T::Invoker::DoInvokeType>::value), | 421 typename T::Invoker::DoInvokeType>::value), |
| 406 callback_type_does_not_match_bind_result); | 422 callback_type_does_not_match_bind_result); |
| 407 } | 423 } |
| 408 | 424 |
| 425 bool Equals(const Callback& other) const { |
| 426 return CallbackBase::Equals(other); |
| 427 } |
| 428 |
| 409 R Run(typename internal::ParamTraits<A1>::ForwardType a1, | 429 R Run(typename internal::ParamTraits<A1>::ForwardType a1, |
| 410 typename internal::ParamTraits<A2>::ForwardType a2, | 430 typename internal::ParamTraits<A2>::ForwardType a2, |
| 411 typename internal::ParamTraits<A3>::ForwardType a3, | 431 typename internal::ParamTraits<A3>::ForwardType a3, |
| 412 typename internal::ParamTraits<A4>::ForwardType a4) const { | 432 typename internal::ParamTraits<A4>::ForwardType a4) const { |
| 413 PolymorphicInvoke f = | 433 PolymorphicInvoke f = |
| 414 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 434 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 415 | 435 |
| 416 return f(invoker_storage_.get(), a1, | 436 return f(invoker_storage_.get(), a1, |
| 417 a2, | 437 a2, |
| 418 a3, | 438 a3, |
| (...skipping 25 matching lines...) Expand all Loading... |
| 444 template <typename T> | 464 template <typename T> |
| 445 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 465 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 446 : CallbackBase( | 466 : CallbackBase( |
| 447 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 467 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 448 &invoker_holder.invoker_storage_) { | 468 &invoker_holder.invoker_storage_) { |
| 449 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 469 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 450 typename T::Invoker::DoInvokeType>::value), | 470 typename T::Invoker::DoInvokeType>::value), |
| 451 callback_type_does_not_match_bind_result); | 471 callback_type_does_not_match_bind_result); |
| 452 } | 472 } |
| 453 | 473 |
| 474 bool Equals(const Callback& other) const { |
| 475 return CallbackBase::Equals(other); |
| 476 } |
| 477 |
| 454 R Run(typename internal::ParamTraits<A1>::ForwardType a1, | 478 R Run(typename internal::ParamTraits<A1>::ForwardType a1, |
| 455 typename internal::ParamTraits<A2>::ForwardType a2, | 479 typename internal::ParamTraits<A2>::ForwardType a2, |
| 456 typename internal::ParamTraits<A3>::ForwardType a3, | 480 typename internal::ParamTraits<A3>::ForwardType a3, |
| 457 typename internal::ParamTraits<A4>::ForwardType a4, | 481 typename internal::ParamTraits<A4>::ForwardType a4, |
| 458 typename internal::ParamTraits<A5>::ForwardType a5) const { | 482 typename internal::ParamTraits<A5>::ForwardType a5) const { |
| 459 PolymorphicInvoke f = | 483 PolymorphicInvoke f = |
| 460 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 484 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 461 | 485 |
| 462 return f(invoker_storage_.get(), a1, | 486 return f(invoker_storage_.get(), a1, |
| 463 a2, | 487 a2, |
| (...skipping 28 matching lines...) Expand all Loading... |
| 492 template <typename T> | 516 template <typename T> |
| 493 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) | 517 Callback(const internal::InvokerStorageHolder<T>& invoker_holder) |
| 494 : CallbackBase( | 518 : CallbackBase( |
| 495 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), | 519 reinterpret_cast<InvokeFuncStorage>(&T::Invoker::DoInvoke), |
| 496 &invoker_holder.invoker_storage_) { | 520 &invoker_holder.invoker_storage_) { |
| 497 COMPILE_ASSERT((is_same<PolymorphicInvoke, | 521 COMPILE_ASSERT((is_same<PolymorphicInvoke, |
| 498 typename T::Invoker::DoInvokeType>::value), | 522 typename T::Invoker::DoInvokeType>::value), |
| 499 callback_type_does_not_match_bind_result); | 523 callback_type_does_not_match_bind_result); |
| 500 } | 524 } |
| 501 | 525 |
| 526 bool Equals(const Callback& other) const { |
| 527 return CallbackBase::Equals(other); |
| 528 } |
| 529 |
| 502 R Run(typename internal::ParamTraits<A1>::ForwardType a1, | 530 R Run(typename internal::ParamTraits<A1>::ForwardType a1, |
| 503 typename internal::ParamTraits<A2>::ForwardType a2, | 531 typename internal::ParamTraits<A2>::ForwardType a2, |
| 504 typename internal::ParamTraits<A3>::ForwardType a3, | 532 typename internal::ParamTraits<A3>::ForwardType a3, |
| 505 typename internal::ParamTraits<A4>::ForwardType a4, | 533 typename internal::ParamTraits<A4>::ForwardType a4, |
| 506 typename internal::ParamTraits<A5>::ForwardType a5, | 534 typename internal::ParamTraits<A5>::ForwardType a5, |
| 507 typename internal::ParamTraits<A6>::ForwardType a6) const { | 535 typename internal::ParamTraits<A6>::ForwardType a6) const { |
| 508 PolymorphicInvoke f = | 536 PolymorphicInvoke f = |
| 509 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); | 537 reinterpret_cast<PolymorphicInvoke>(polymorphic_invoke_); |
| 510 | 538 |
| 511 return f(invoker_storage_.get(), a1, | 539 return f(invoker_storage_.get(), a1, |
| 512 a2, | 540 a2, |
| 513 a3, | 541 a3, |
| 514 a4, | 542 a4, |
| 515 a5, | 543 a5, |
| 516 a6); | 544 a6); |
| 517 } | 545 } |
| 518 }; | 546 }; |
| 519 | 547 |
| 520 | 548 |
| 521 // Syntactic sugar to make Callbacks<void(void)> easier to declare since it | 549 // Syntactic sugar to make Callbacks<void(void)> easier to declare since it |
| 522 // will be used in a lot of APIs with delayed execution. | 550 // will be used in a lot of APIs with delayed execution. |
| 523 typedef Callback<void(void)> Closure; | 551 typedef Callback<void(void)> Closure; |
| 524 | 552 |
| 525 } // namespace base | 553 } // namespace base |
| 526 | 554 |
| 527 #endif // BASE_CALLBACK_H | 555 #endif // BASE_CALLBACK_H |
| OLD | NEW |