8#ifndef INCLUDED_BDLF_MEMFN
9#define INCLUDED_BDLF_MEMFN
200#include <bdlscm_version.h>
236template <
class OBJTYPE>
244 template <
class TYPE>
250 template <
class TYPE>
256 template <
class TYPE>
257 static inline OBJTYPE&
deref(TYPE& obj)
262 template <
class TYPE>
263 static inline OBJTYPE&
deref(
const TYPE& obj)
282template <
class PROTOTYPE>
302 typedef typename Traits::ArgumentList
Args;
364 MemFn(PROTOTYPE func);
375#if defined(BSLS_PLATFORM_CMP_GNU) && \
376 BSLS_PLATFORM_CMP_VERSION >= 110000 && \
377 BSLS_PLATFORM_CMP_VERSION < 150000
379# pragma GCC diagnostic push
380# pragma GCC diagnostic ignored "-Warray-bounds"
387 template <
class INSTANCE>
390 return (Deref::deref(
object).*d_func_p)();
398 template <
class INSTANCE>
401 return (Deref::deref(
object).*d_func_p)(arg1);
409 template <
class INSTANCE>
412 return (Deref::deref(
object).*d_func_p)(arg1, arg2);
420 template <
class INSTANCE>
422 ARG1 arg1, ARG2 arg2, ARG3 arg3)
const
424 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3);
432 template <
class INSTANCE>
434 ARG1 arg1, ARG2 arg2, ARG3 arg3,
437 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4);
445 template <
class INSTANCE>
447 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
450 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5);
458 template <
class INSTANCE>
460 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
461 ARG5 arg5, ARG6 arg6)
const
463 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
472 template <
class INSTANCE>
474 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
475 ARG5 arg5, ARG6 arg6, ARG7 arg7)
const
477 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
486 template <
class INSTANCE>
488 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
489 ARG5 arg5, ARG6 arg6, ARG7 arg7,
492 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
501 template <
class INSTANCE>
503 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
504 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
507 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
508 arg6, arg7, arg8, arg9);
516 template <
class INSTANCE>
518 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
519 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
520 ARG9 arg9, ARG10 arg10)
const
522 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
523 arg6, arg7, arg8, arg9, arg10);
531 template <
class INSTANCE>
533 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4,
534 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
535 ARG9 arg9, ARG10 arg10, ARG11 arg11)
const
537 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
538 arg6, arg7, arg8, arg9, arg10,
547 template <
class INSTANCE>
549 ARG1 arg1, ARG2 arg2, ARG3 arg3,
550 ARG4 arg4, ARG5 arg5, ARG6 arg6,
551 ARG7 arg7, ARG8 arg8, ARG9 arg9,
552 ARG10 arg10, ARG11 arg11, ARG12 arg12)
const
554 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
555 arg6, arg7, arg8, arg9, arg10,
564 template <
class INSTANCE>
566 ARG1 arg1, ARG2 arg2, ARG3 arg3,
567 ARG4 arg4, ARG5 arg5, ARG6 arg6,
568 ARG7 arg7, ARG8 arg8, ARG9 arg9,
569 ARG10 arg10, ARG11 arg11, ARG12 arg12,
572 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
573 arg6, arg7, arg8, arg9, arg10,
574 arg11, arg12, arg13);
582 template <
class INSTANCE>
584 ARG1 arg1, ARG2 arg2, ARG3 arg3,
585 ARG4 arg4, ARG5 arg5, ARG6 arg6,
586 ARG7 arg7, ARG8 arg8, ARG9 arg9,
587 ARG10 arg10, ARG11 arg11, ARG12 arg12,
588 ARG13 arg13, ARG14 arg14)
const
590 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
591 arg6, arg7, arg8, arg9, arg10,
592 arg11, arg12, arg13, arg14);
600 template <
class INSTANCE>
603 return (Deref::deref(
object).*d_func_p)();
611 template <
class INSTANCE>
614 return (Deref::deref(
object).*d_func_p)(arg1);
622 template <
class INSTANCE>
625 return (Deref::deref(
object).*d_func_p)(arg1, arg2);
633 template <
class INSTANCE>
635 ARG1 arg1, ARG2 arg2, ARG3 arg3)
const
637 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3);
645 template <
class INSTANCE>
647 ARG1 arg1, ARG2 arg2, ARG3 arg3,
650 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4);
658 template <
class INSTANCE>
660 ARG1 arg1, ARG2 arg2, ARG3 arg3,
661 ARG4 arg4, ARG5 arg5)
const
663 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5);
671 template <
class INSTANCE>
673 ARG1 arg1, ARG2 arg2, ARG3 arg3,
674 ARG4 arg4, ARG5 arg5, ARG6 arg6)
const
676 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
685 template <
class INSTANCE>
687 ARG1 arg1, ARG2 arg2, ARG3 arg3,
688 ARG4 arg4, ARG5 arg5, ARG6 arg6,
691 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
700 template <
class INSTANCE>
702 ARG1 arg1, ARG2 arg2, ARG3 arg3,
703 ARG4 arg4, ARG5 arg5, ARG6 arg6,
704 ARG7 arg7, ARG8 arg8)
const
706 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
715 template <
class INSTANCE>
717 ARG1 arg1, ARG2 arg2, ARG3 arg3,
718 ARG4 arg4, ARG5 arg5, ARG6 arg6,
719 ARG7 arg7, ARG8 arg8, ARG9 arg9)
const
721 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
722 arg6, arg7, arg8, arg9);
730 template <
class INSTANCE>
732 ARG1 arg1, ARG2 arg2, ARG3 arg3,
733 ARG4 arg4, ARG5 arg5, ARG6 arg6,
734 ARG7 arg7, ARG8 arg8, ARG9 arg9,
737 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
738 arg6, arg7, arg8, arg9, arg10);
746 template <
class INSTANCE>
748 ARG1 arg1, ARG2 arg2, ARG3 arg3,
749 ARG4 arg4, ARG5 arg5, ARG6 arg6,
750 ARG7 arg7, ARG8 arg8, ARG9 arg9,
751 ARG10 arg10, ARG11 arg11)
const
753 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
754 arg6, arg7, arg8, arg9, arg10,
763 template <
class INSTANCE>
765 ARG1 arg1, ARG2 arg2, ARG3 arg3,
766 ARG4 arg4, ARG5 arg5, ARG6 arg6,
767 ARG7 arg7, ARG8 arg8, ARG9 arg9,
768 ARG10 arg10, ARG11 arg11,
771 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
772 arg6, arg7, arg8, arg9, arg10,
781 template <
class INSTANCE>
783 ARG1 arg1, ARG2 arg2, ARG3 arg3,
784 ARG4 arg4, ARG5 arg5, ARG6 arg6,
785 ARG7 arg7, ARG8 arg8, ARG9 arg9,
786 ARG10 arg10, ARG11 arg11, ARG12 arg12,
789 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4,
790 arg5, arg6, arg7, arg8,
791 arg9, arg10, arg11, arg12,
800 template <
class INSTANCE>
802 ARG1 arg1, ARG2 arg2, ARG3 arg3,
803 ARG4 arg4, ARG5 arg5, ARG6 arg6,
804 ARG7 arg7, ARG8 arg8, ARG9 arg9,
805 ARG10 arg10, ARG11 arg11, ARG12 arg12,
806 ARG13 arg13, ARG14 arg14)
const
808 return (Deref::deref(
object).*d_func_p)(arg1, arg2, arg3, arg4, arg5,
809 arg6, arg7, arg8, arg9, arg10,
810 arg11, arg12, arg13, arg14);
812#if defined(BSLS_PLATFORM_CMP_GNU) && \
813 BSLS_PLATFORM_CMP_VERSION >= 110000 && \
814 BSLS_PLATFORM_CMP_VERSION < 150000
815# pragma GCC diagnostic pop
837template <
class PROTOTYPE,
class INSTANCE>
852 typedef typename Traits::ArgumentList
Args;
922 const INSTANCE&
object,
959 ARG5 arg5, ARG6 arg6)
const;
961 ARG5 arg5, ARG6 arg6,
964 ARG5 arg5, ARG6 arg6,
965 ARG7 arg7, ARG8 arg8)
const;
967 ARG5 arg5, ARG6 arg6,
968 ARG7 arg7, ARG8 arg8, ARG9 arg9)
const;
970 ARG5 arg5, ARG6 arg6,
971 ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10)
const;
973 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
974 ARG9 arg9, ARG10 arg10, ARG11 arg11)
const;
976 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
977 ARG9 arg9, ARG10 arg10, ARG11 arg11,
980 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
981 ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12,
984 ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8,
985 ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12,
986 ARG13 arg13, ARG14 arg14)
const;
1004 template <
class PROTOTYPE>
1012 template <
class PROTOTYPE,
class INSTANCE>
1015 const INSTANCE&
object);
1027template <
class PROTOTYPE>
1034template <
class PROTOTYPE>
1037: d_func_p(original.d_func_p)
1046template <
class PROTOTYPE,
class INSTANCE>
1051: d_func_p(original.d_func_p)
1052, d_obj(original.d_obj,
bslma::Default::allocator(basicAllocator))
1056template <
class PROTOTYPE,
class INSTANCE>
1060 const INSTANCE&
object,
1063, d_obj(object,
bslma::Default::allocator(basicAllocator))
1067template <
class PROTOTYPE,
class INSTANCE>
1074template <
class PROTOTYPE,
class INSTANCE>
1080 d_func_p = rhs.d_func_p;
1081 d_obj.object() = rhs.d_obj.object();
1086template <
class PROTOTYPE,
class INSTANCE>
1091 return (Deref::deref(d_obj.object()).*d_func_p)();
1094template <
class PROTOTYPE,
class INSTANCE>
1099 return (Deref::deref(d_obj.object()).*d_func_p)(arg1);
1102template <
class PROTOTYPE,
class INSTANCE>
1107 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2);
1110template <
class PROTOTYPE,
class INSTANCE>
1114 ARG1 arg1, ARG2 arg2, ARG3 arg3)
const
1116 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3);
1119template <
class PROTOTYPE,
class INSTANCE>
1123 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4)
const
1125 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4);
1128template <
class PROTOTYPE,
class INSTANCE>
1132 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5)
const
1134 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1138template <
class PROTOTYPE,
class INSTANCE>
1142 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6)
const
1144 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1148template <
class PROTOTYPE,
class INSTANCE>
1152 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1155 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1159template <
class PROTOTYPE,
class INSTANCE>
1163 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1164 ARG7 arg7, ARG8 arg8)
const
1166 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1167 arg5, arg6, arg7, arg8);
1170template <
class PROTOTYPE,
class INSTANCE>
1174 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1175 ARG7 arg7, ARG8 arg8, ARG9 arg9)
const
1177 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1178 arg5, arg6, arg7, arg8,
1182template <
class PROTOTYPE,
class INSTANCE>
1186 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1187 ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10)
const
1189 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1190 arg5, arg6, arg7, arg8,
1194template <
class PROTOTYPE,
class INSTANCE>
1198 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1199 ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11)
const
1201 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1202 arg5, arg6, arg7, arg8,
1203 arg9, arg10, arg11);
1206template <
class PROTOTYPE,
class INSTANCE>
1210 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1211 ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11,
1214 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1215 arg5, arg6, arg7, arg8,
1216 arg9, arg10, arg11, arg12);
1219template <
class PROTOTYPE,
class INSTANCE>
1223 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6,
1224 ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11,
1225 ARG12 arg12, ARG13 arg13)
const
1227 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1228 arg5, arg6, arg7, arg8,
1229 arg9, arg10, arg11, arg12,
1233template <
class PROTOTYPE,
class INSTANCE>
1237 ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5,
1238 ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10,
1239 ARG11 arg11, ARG12 arg12, ARG13 arg13, ARG14 arg14)
const
1241 return (Deref::deref(d_obj.object()).*d_func_p)(arg1, arg2, arg3, arg4,
1242 arg5, arg6, arg7, arg8,
1243 arg9, arg10, arg11, arg12,
1252template <
class PROTOTYPE>
1260template <
class PROTOTYPE,
class INSTANCE>
1278template <
class PROTOTYPE,
class INSTANCE>
1286template <
class PROTOTYPE,
class INSTANCE>
1294template <
class PROTOTYPE>
1299template <
class PROTOTYPE>
Definition bdlf_memfn.h:838
Traits::ClassType ObjectType
Definition bdlf_memfn.h:856
MemFn_Dereference< ObjectType > Deref
Definition bdlf_memfn.h:868
MemFnInstance(PROTOTYPE func, const INSTANCE &object, bslma::Allocator *basicAllocator=0)
Definition bdlf_memfn.h:1058
PROTOTYPE ProtoType
Definition bdlf_memfn.h:866
~MemFnInstance()
Destroy this object.
Definition bdlf_memfn.h:1069
Traits::ArgumentList Args
Definition bdlf_memfn.h:852
MemFnInstance & operator=(const MemFnInstance &rhs)
Definition bdlf_memfn.h:1077
PROTOTYPE Prototype
Definition bdlf_memfn.h:860
ResultType operator()() const
Definition bdlf_memfn.h:1089
Traits::ResultType ResultType
Definition bdlf_memfn.h:848
Definition bdlf_memfn.h:283
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7) const
Definition bdlf_memfn.h:473
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5) const
Definition bdlf_memfn.h:659
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8) const
Definition bdlf_memfn.h:701
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8) const
Definition bdlf_memfn.h:487
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2) const
Definition bdlf_memfn.h:410
ResultType operator()(const INSTANCE &object, ARG1 arg1) const
Definition bdlf_memfn.h:612
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3) const
Definition bdlf_memfn.h:634
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9) const
Definition bdlf_memfn.h:716
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12) const
Definition bdlf_memfn.h:548
PROTOTYPE ProtoType
Definition bdlf_memfn.h:316
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10) const
Definition bdlf_memfn.h:517
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12) const
Definition bdlf_memfn.h:764
Traits::ResultType ResultType
Definition bdlf_memfn.h:298
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9) const
Definition bdlf_memfn.h:502
~MemFn()=default
Destroy this object.
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2) const
Definition bdlf_memfn.h:623
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12, ARG13 arg13) const
Definition bdlf_memfn.h:782
ResultType operator()(INSTANCE &object, ARG1 arg1) const
Definition bdlf_memfn.h:399
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5) const
Definition bdlf_memfn.h:446
Traits::ArgumentList Args
Definition bdlf_memfn.h:302
MemFn(PROTOTYPE func)
Definition bdlf_memfn.h:1029
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10) const
Definition bdlf_memfn.h:731
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12, ARG13 arg13, ARG14 arg14) const
Definition bdlf_memfn.h:583
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4) const
Definition bdlf_memfn.h:646
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6) const
Definition bdlf_memfn.h:459
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11) const
Definition bdlf_memfn.h:532
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12, ARG13 arg13) const
Definition bdlf_memfn.h:565
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7) const
Definition bdlf_memfn.h:686
ResultType operator()(const INSTANCE &object) const
Definition bdlf_memfn.h:601
ResultType operator()(INSTANCE &object) const
Definition bdlf_memfn.h:388
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11, ARG12 arg12, ARG13 arg13, ARG14 arg14) const
Definition bdlf_memfn.h:801
Traits::ClassType ObjectType
Definition bdlf_memfn.h:306
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6, ARG7 arg7, ARG8 arg8, ARG9 arg9, ARG10 arg10, ARG11 arg11) const
Definition bdlf_memfn.h:747
PROTOTYPE Prototype
Definition bdlf_memfn.h:310
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3) const
Definition bdlf_memfn.h:421
ResultType operator()(const INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4, ARG5 arg5, ARG6 arg6) const
Definition bdlf_memfn.h:672
ResultType operator()(INSTANCE &object, ARG1 arg1, ARG2 arg2, ARG3 arg3, ARG4 arg4) const
Definition bdlf_memfn.h:433
Definition bslalg_constructorproxy.h:376
Definition bslma_allocator.h:545
Definition bslmf_forwardingtype.h:430
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:231
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bdlf_bind.h:979
Definition baljsn_encoder_testtypes.h:76
Definition bdlbb_blob.h:579
Definition bdlf_memfn.h:997
static MemFn< PROTOTYPE > memFn(PROTOTYPE func)
Definition bdlf_memfn.h:1255
Definition bdlf_memfn.h:237
static OBJTYPE & deref(TYPE &obj)
Definition bdlf_memfn.h:257
static OBJTYPE & derefImp(const TYPE &obj, bsl::true_type *)
Definition bdlf_memfn.h:251
static OBJTYPE & derefImp(OBJTYPE &obj, bsl::false_type *)
Definition bdlf_memfn.h:239
static OBJTYPE & deref(const TYPE &obj)
Definition bdlf_memfn.h:263
static OBJTYPE & derefImp(TYPE &obj, bsl::true_type *)
Definition bdlf_memfn.h:245
Definition bslmf_integralconstant.h:261
Definition bslma_usesbslmaallocator.h:344
Definition bslmf_haspointersemantics.h:83
Definition bslmf_isbitwisecopyable.h:298
Definition bslmf_isbitwisemoveable.h:718
@ IS_MEMBER_FUNCTION_PTR
Definition bslmf_memberfunctionpointertraits.h:1395
Definition bslmf_memberfunctionpointertraits.h:150
Definition bslmf_nil.h:133