96 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
  105 template <
typename R>
 
  112 template <
typename R, 
typename T1>
 
  119 template <
typename R, 
typename T1, 
typename T2>
 
  126 template <
typename R, 
typename T1, 
typename T2, 
typename T3>
 
  133 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4>
 
  140 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5>
 
  144   virtual R 
operator() (T1, T2, T3, T4, T5) = 0;  
 
  147 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6>
 
  151   virtual R 
operator() (T1, T2, T3, T4, T5, T6) = 0;  
 
  154 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7>
 
  158   virtual R 
operator() (T1, T2, T3, T4, T5, T6, T7) = 0;  
 
  161 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8>
 
  165   virtual R 
operator() (T1, T2, T3, T4, T5, T6, T7, T8) = 0;  
 
  168 template <
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
  169 class CallbackImpl : 
public CallbackImplBase {
 
  172   virtual R 
operator() (T1, T2, T3, T4, T5, T6, T7, T8, T9) = 0;  
 
  181 template <
typename T, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
  281   R 
operator() (T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8) {
 
  282     return m_functor (a1,a2,a3,a4,a5,a6,a7,a8);
 
  296   R 
operator() (T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8,T9 a9) {
 
  297     return m_functor (a1,a2,a3,a4,a5,a6,a7,a8,a9);
 
  307     FunctorCallbackImpl<T,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> const *otherDerived = 
 
  308       dynamic_cast<FunctorCallbackImpl<T,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> const *
> (
PeekPointer (other));
 
  309     if (otherDerived == 0)
 
  327 template <
typename OBJ_PTR, 
typename MEM_PTR, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
  428   R 
operator() (T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8) {
 
  443   R 
operator() (T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, T9 a9) {
 
  454     MemPtrCallbackImpl<OBJ_PTR,MEM_PTR,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> const *otherDerived = 
 
  455       dynamic_cast<MemPtrCallbackImpl<OBJ_PTR,MEM_PTR,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> const *
> (
PeekPointer (other));
 
  456     if (otherDerived == 0)
 
  476 template <
typename T, 
typename R, 
typename TX, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7, 
typename T8>
 
  484   template <
typename FUNCTOR, 
typename ARG>
 
  577   R 
operator() (T1 a1,T2 a2,T3 a3,T4 a4,T5 a5,T6 a6,T7 a7,T8 a8) {
 
  588     BoundFunctorCallbackImpl<T,R,TX,T1,T2,T3,T4,T5,T6,T7,T8> const *otherDerived = 
 
  589       dynamic_cast<BoundFunctorCallbackImpl<T,R,TX,T1,T2,T3,T4,T5,T6,T7,T8> const *
> (
PeekPointer (other));
 
  590     if (otherDerived == 0)
 
  610 template <
typename T, 
typename R, 
typename TX1, 
typename TX2, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7>
 
  619   template <
typename FUNCTOR, 
typename ARG1, 
typename ARG2>
 
  709     TwoBoundFunctorCallbackImpl<T,R,TX1,TX2,T1,T2,T3,T4,T5,T6,T7> const *otherDerived = 
 
  710       dynamic_cast<TwoBoundFunctorCallbackImpl<T,R,TX1,TX2,T1,T2,T3,T4,T5,T6,T7> const *
> (
PeekPointer (other));
 
  711     if (otherDerived == 0)
 
  732 template <
typename T, 
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6>
 
  742   template <
typename FUNCTOR, 
typename ARG1, 
typename ARG2, 
typename ARG3>
 
  819     ThreeBoundFunctorCallbackImpl<T,R,TX1,TX2,TX3,T1,T2,T3,T4,T5,T6> const *otherDerived = 
 
  820       dynamic_cast<ThreeBoundFunctorCallbackImpl<T,R,TX1,TX2,TX3,T1,T2,T3,T4,T5,T6> const *
> (
PeekPointer (other));
 
  821     if (otherDerived == 0)
 
  861   static std::string 
Demangle (
const std::string& mangled);
 
  933   template <
typename FUNCTOR>
 
  935     : 
CallbackBase (
Create<
FunctorCallbackImpl<FUNCTOR,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> > (functor))
 
  944   template <
typename OBJ_PTR, 
typename MEM_PTR>
 
  946     : 
CallbackBase (
Create<
MemPtrCallbackImpl<OBJ_PTR,MEM_PTR,R,T1,T2,T3,T4,T5,T6,T7,T8,T9> > (objPtr, memPtr))
 
  964   template <
typename T>
 
  969           Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9>,
 
  970           R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (*
this, a), 
false);
 
  981   template <
typename TX1, 
typename TX2>
 
  986           Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9>,
 
  987           R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (*
this, a1, a2), 
false);
 
  999   template <
typename TX1, 
typename TX2, 
typename TX3>
 
 1004           Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9>,
 
 1005           R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (*
this, a1, a2, a3), 
false);
 
 1085     return (*(
DoPeekImpl ()))(a1,a2,a3,a4,a5,a6);
 
 1097   R 
operator() (T1 a1, T2 a2, T3 a3, T4 a4,T5 a5,T6 a6,T7 a7)
 const {
 
 1098     return (*(
DoPeekImpl ()))(a1,a2,a3,a4,a5,a6,a7);
 
 1111   R 
operator() (T1 a1, T2 a2, T3 a3, T4 a4,T5 a5,T6 a6,T7 a7,T8 a8)
 const {
 
 1112     return (*(
DoPeekImpl ()))(a1,a2,a3,a4,a5,a6,a7,a8);
 
 1126   R 
operator() (T1 a1, T2 a2, T3 a3, T4 a4,T5 a5,T6 a6,T7 a7,T8 a8, T9 a9)
 const {
 
 1127     return (*(
DoPeekImpl ()))(a1,a2,a3,a4,a5,a6,a7,a8,a9);
 
 1174     else if (other == 0)
 
 1191         NS_FATAL_ERROR (
"Incompatible types. (feed to \"c++filt -t\" if needed)" << std::endl <<
 
 1192                         "got=" << 
Demangle ( 
typeid (*other).name () ) << std::endl <<
 
 1208 template <
typename R, 
typename T1, 
typename T2,
 
 1209           typename T3, 
typename T4,
 
 1210           typename T5, 
typename T6,
 
 1211           typename T7, 
typename T8,
 
 1213 bool operator != (
Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> a, 
Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> b)
 
 1237 template <
typename T, 
typename OBJ, 
typename R>
 
 1241 template <
typename T, 
typename OBJ, 
typename R>
 
 1245 template <
typename T, 
typename OBJ, 
typename R, 
typename T1>
 
 1249 template <
typename T, 
typename OBJ, 
typename R, 
typename T1>
 
 1250 Callback<R,T1> 
MakeCallback (R (T::*memPtr)(T1) 
const, OBJ objPtr) {
 
 1251   return Callback<R,T1> (objPtr, memPtr);
 
 1253 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2>
 
 1257 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2>
 
 1258 Callback<R,T1,T2> 
MakeCallback (R (T::*memPtr)(T1,T2) 
const, OBJ objPtr) {
 
 1259   return Callback<R,T1,T2> (objPtr, memPtr);
 
 1261 template <
typename T, 
typename OBJ, 
typename R, 
typename T1,
typename T2, 
typename T3>
 
 1265 template <
typename T, 
typename OBJ, 
typename R, 
typename T1,
typename T2, 
typename T3>
 
 1266 Callback<R,T1,T2,T3> 
MakeCallback (R (T::*memPtr)(T1,T2,T3) 
const, OBJ objPtr) {
 
 1267   return Callback<R,T1,T2,T3> (objPtr, memPtr);
 
 1269 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4>
 
 1273 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4>
 
 1274 Callback<R,T1,T2,T3,T4> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4) 
const, OBJ objPtr) {
 
 1275   return Callback<R,T1,T2,T3,T4> (objPtr, memPtr);
 
 1277 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5>
 
 1278 Callback<R,T1,T2,T3,T4,T5> MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5), OBJ objPtr) {
 
 1281 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5>
 
 1282 Callback<R,T1,T2,T3,T4,T5> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5) 
const, OBJ objPtr) {
 
 1283   return Callback<R,T1,T2,T3,T4,T5> (objPtr, memPtr);
 
 1285 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5,
typename T6>
 
 1286 Callback<R,T1,T2,T3,T4,T5,T6> MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6), OBJ objPtr) {
 
 1289 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6>
 
 1290 Callback<R,T1,T2,T3,T4,T5,T6> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6) 
const, OBJ objPtr) {
 
 1291   return Callback<R,T1,T2,T3,T4,T5,T6> (objPtr, memPtr);
 
 1293 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5,
typename T6, 
typename T7>
 
 1294 Callback<R,T1,T2,T3,T4,T5,T6,T7> MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7), OBJ objPtr) {
 
 1297 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7>
 
 1298 Callback<R,T1,T2,T3,T4,T5,T6,T7> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7) 
const, OBJ objPtr) {
 
 1299   return Callback<R,T1,T2,T3,T4,T5,T6,T7> (objPtr, memPtr);
 
 1301 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8>
 
 1302 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7,T8), OBJ objPtr) {
 
 1305 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7, 
typename T8>
 
 1306 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7,T8) 
const, OBJ objPtr) {
 
 1307   return Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> (objPtr, memPtr);
 
 1309 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
 1310 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7,T8,T9), OBJ objPtr) {
 
 1311   return Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (objPtr, memPtr);
 
 1313 template <
typename T, 
typename OBJ, 
typename R, 
typename T1, 
typename T2, 
typename T3, 
typename T4,
typename T5, 
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
 1314 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> 
MakeCallback (R (T::*memPtr)(T1,T2,T3,T4,T5,T6,T7,T8,T9) 
const, OBJ objPtr) {
 
 1315   return Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (objPtr, memPtr);
 
 1337 template <
typename R>
 
 1341 template <
typename R, 
typename T1>
 
 1345 template <
typename R, 
typename T1, 
typename T2>
 
 1349 template <
typename R, 
typename T1, 
typename T2,
typename T3>
 
 1353 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4>
 
 1357 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5>
 
 1361 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
 
 1362 Callback<R,T1,T2,T3,T4,T5,T6> MakeCallback (R (*fnPtr)(T1,T2,T3,T4,T5,T6)) {
 
 1365 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7>
 
 1366 Callback<R,T1,T2,T3,T4,T5,T6,T7> MakeCallback (R (*fnPtr)(T1,T2,T3,T4,T5,T6,T7)) {
 
 1369 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8>
 
 1370 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> MakeCallback (R (*fnPtr)(T1,T2,T3,T4,T5,T6,T7,T8)) {
 
 1371   return Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> (fnPtr, 
true, 
true);
 
 1373 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
 1374 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> MakeCallback (R (*fnPtr)(T1,T2,T3,T4,T5,T6,T7,T8,T9)) {
 
 1375   return Callback<R,T1,T2,T3,T4,T5,T6,T7,T8,T9> (fnPtr, 
true, 
true);
 
 1394 template <
typename R>
 
 1398 template <
typename R, 
typename T1>
 
 1402 template <
typename R, 
typename T1, 
typename T2>
 
 1406 template <
typename R, 
typename T1, 
typename T2,
typename T3>
 
 1410 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4>
 
 1414 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5>
 
 1418 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
 
 1422 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7>
 
 1426 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8>
 
 1430 template <
typename R, 
typename T1, 
typename T2,
typename T3,
typename T4,
typename T5,
typename T6, 
typename T7, 
typename T8, 
typename T9>
 
 1462 template <
typename R, 
typename TX, 
typename ARG>
 
 1465     Create<BoundFunctorCallbackImpl<R (*)(TX),R,TX,empty,empty,empty,empty,empty,empty,empty,empty> >(fnPtr, a1);
 
 1468 template <
typename R, 
typename TX, 
typename ARG, 
 
 1472     Create<BoundFunctorCallbackImpl<R (*)(TX,T1),R,TX,T1,empty,empty,empty,empty,empty,empty,empty> > (fnPtr, a1);
 
 1475 template <
typename R, 
typename TX, 
typename ARG, 
 
 1476           typename T1, 
typename T2>
 
 1479     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2),R,TX,T1,T2,empty,empty,empty,empty,empty,empty> > (fnPtr, a1);
 
 1482 template <
typename R, 
typename TX, 
typename ARG,
 
 1483           typename T1, 
typename T2,
typename T3>
 
 1486     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3),R,TX,T1,T2,T3,empty,empty,empty,empty,empty> > (fnPtr, a1);
 
 1489 template <
typename R, 
typename TX, 
typename ARG,
 
 1490           typename T1, 
typename T2,
typename T3,
typename T4>
 
 1493     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3,T4),R,TX,T1,T2,T3,T4,empty,empty,empty,empty> > (fnPtr, a1);
 
 1496 template <
typename R, 
typename TX, 
typename ARG,
 
 1497           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5>
 
 1498 Callback<R,T1,T2,T3,T4,T5> MakeBoundCallback (R (*fnPtr)(TX,T1,T2,T3,T4,T5), ARG a1) {
 
 1500     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3,T4,T5),R,TX,T1,T2,T3,T4,T5,empty,empty,empty> > (fnPtr, a1);
 
 1503 template <
typename R, 
typename TX, 
typename ARG,
 
 1504           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6>
 
 1505 Callback<R,T1,T2,T3,T4,T5,T6> MakeBoundCallback (R (*fnPtr)(TX,T1,T2,T3,T4,T5,T6), ARG a1) {
 
 1507     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3,T4,T5,T6),R,TX,T1,T2,T3,T4,T5,T6,empty,empty> > (fnPtr, a1);
 
 1510 template <
typename R, 
typename TX, 
typename ARG,
 
 1511           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6, 
typename T7>
 
 1512 Callback<R,T1,T2,T3,T4,T5,T6,T7> MakeBoundCallback (R (*fnPtr)(TX,T1,T2,T3,T4,T5,T6,T7), ARG a1) {
 
 1514     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3,T4,T5,T6,T7),R,TX,T1,T2,T3,T4,T5,T6,T7,empty> > (fnPtr, a1);
 
 1517 template <
typename R, 
typename TX, 
typename ARG,
 
 1518           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6, 
typename T7, 
typename T8>
 
 1519 Callback<R,T1,T2,T3,T4,T5,T6,T7,T8> MakeBoundCallback (R (*fnPtr)(TX,T1,T2,T3,T4,T5,T6,T7,T8), ARG a1) {
 
 1521     Create<BoundFunctorCallbackImpl<R (*)(TX,T1,T2,T3,T4,T5,T6,T7,T8),R,TX,T1,T2,T3,T4,T5,T6,T7,T8> > (fnPtr, a1);
 
 1533 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2>
 
 1536     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2),R,TX1,TX2,empty,empty,empty,empty,empty,empty,empty> >(fnPtr, a1, a2);
 
 1539 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1543     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1),R,TX1,TX2,T1,empty,empty,empty,empty,empty,empty> > (fnPtr, a1, a2);
 
 1546 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1547           typename T1, 
typename T2>
 
 1550     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2),R,TX1,TX2,T1,T2,empty,empty,empty,empty,empty> > (fnPtr, a1, a2);
 
 1553 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1554           typename T1, 
typename T2,
typename T3>
 
 1557     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2,T3),R,TX1,TX2,T1,T2,T3,empty,empty,empty,empty> > (fnPtr, a1, a2);
 
 1560 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1561           typename T1, 
typename T2,
typename T3,
typename T4>
 
 1562 Callback<R,T1,T2,T3,T4> MakeBoundCallback (R (*fnPtr)(TX1,TX2,T1,T2,T3,T4), ARG1 a1, ARG2 a2) {
 
 1564     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2,T3,T4),R,TX1,TX2,T1,T2,T3,T4,empty,empty,empty> > (fnPtr, a1, a2);
 
 1567 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1568           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5>
 
 1569 Callback<R,T1,T2,T3,T4,T5> MakeBoundCallback (R (*fnPtr)(TX1,TX2,T1,T2,T3,T4,T5), ARG1 a1, ARG2 a2) {
 
 1571     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2,T3,T4,T5),R,TX1,TX2,T1,T2,T3,T4,T5,empty,empty> > (fnPtr, a1, a2);
 
 1574 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1575           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6>
 
 1576 Callback<R,T1,T2,T3,T4,T5,T6> MakeBoundCallback (R (*fnPtr)(TX1,TX2,T1,T2,T3,T4,T5,T6), ARG1 a1, ARG2 a2) {
 
 1578     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2,T3,T4,T5,T6),R,TX1,TX2,T1,T2,T3,T4,T5,T6,empty> > (fnPtr, a1, a2);
 
 1581 template <
typename R, 
typename TX1, 
typename TX2, 
typename ARG1, 
typename ARG2,
 
 1582           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6, 
typename T7>
 
 1583 Callback<R,T1,T2,T3,T4,T5,T6,T7> MakeBoundCallback (R (*fnPtr)(TX1,TX2,T1,T2,T3,T4,T5,T6,T7), ARG1 a1, ARG2 a2) {
 
 1585     Create<TwoBoundFunctorCallbackImpl<R (*)(TX1,TX2,T1,T2,T3,T4,T5,T6,T7),R,TX1,TX2,T1,T2,T3,T4,T5,T6,T7> > (fnPtr, a1, a2);
 
 1598 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3>
 
 1601     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3),R,TX1,TX2,TX3,empty,empty,empty,empty,empty,empty> >(fnPtr, a1, a2, a3);
 
 1604 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1608     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1),R,TX1,TX2,TX3,T1,empty,empty,empty,empty,empty> > (fnPtr, a1, a2, a3);
 
 1611 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1612           typename T1, 
typename T2>
 
 1615     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1,T2),R,TX1,TX2,TX3,T1,T2,empty,empty,empty,empty> > (fnPtr, a1, a2, a3);
 
 1618 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1619           typename T1, 
typename T2,
typename T3>
 
 1620 Callback<R,T1,T2,T3> MakeBoundCallback (R (*fnPtr)(TX1,TX2,TX3,T1,T2,T3), ARG1 a1, ARG2 a2, ARG3 a3) {
 
 1622     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1,T2,T3),R,TX1,TX2,TX3,T1,T2,T3,empty,empty,empty> > (fnPtr, a1, a2, a3);
 
 1625 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1626           typename T1, 
typename T2,
typename T3,
typename T4>
 
 1627 Callback<R,T1,T2,T3,T4> MakeBoundCallback (R (*fnPtr)(TX1,TX2,TX3,T1,T2,T3,T4), ARG1 a1, ARG2 a2, ARG3 a3) {
 
 1629     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1,T2,T3,T4),R,TX1,TX2,TX3,T1,T2,T3,T4,empty,empty> > (fnPtr, a1, a2, a3);
 
 1632 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1633           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5>
 
 1634 Callback<R,T1,T2,T3,T4,T5> MakeBoundCallback (R (*fnPtr)(TX1,TX2,TX3,T1,T2,T3,T4,T5), ARG1 a1, ARG2 a2, ARG3 a3) {
 
 1636     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1,T2,T3,T4,T5),R,TX1,TX2,TX3,T1,T2,T3,T4,T5,empty> > (fnPtr, a1, a2, a3);
 
 1639 template <
typename R, 
typename TX1, 
typename TX2, 
typename TX3, 
typename ARG1, 
typename ARG2, 
typename ARG3,
 
 1640           typename T1, 
typename T2,
typename T3,
typename T4,
typename T5, 
typename T6>
 
 1641 Callback<R,T1,T2,T3,T4,T5,T6> MakeBoundCallback (R (*fnPtr)(TX1,TX2,TX3,T1,T2,T3,T4,T5,T6), ARG1 a1, ARG2 a2, ARG3 a3) {
 
 1643     Create<ThreeBoundFunctorCallbackImpl<R (*)(TX1,TX2,TX3,T1,T2,T3,T4,T5,T6),R,TX1,TX2,TX3,T1,T2,T3,T4,T5,T6> > (fnPtr, a1, a2, a3);
 
 1676   template <
typename T>
 
 1707 template <
typename T>
 
 1710   if (value.CheckType (
m_value))
 
smart pointer class similar to boost::intrusive_ptr 
 
virtual ~MemPtrCallbackImpl()
 
void DoAssign(Ptr< const CallbackImplBase > other)
Adopt the other's implementation, if type compatible. 
 
virtual ~BoundFunctorCallbackImpl()
 
virtual ~FunctorCallbackImpl()
 
Hold a value for an Attribute. 
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const =0
Equality test. 
 
Callback< R > MakeBoundCallback(R(*fnPtr)(TX), ARG a1)
Build bound Callbacks which take varying numbers of arguments, and potentially returning a value...
 
Callback< R, T3, T4, T5, T6, T7, T8, T9 > TwoBind(TX1 a1, TX2 a2)
Bind the first two arguments. 
 
bool IsNull(void) const 
Check for null implementation. 
 
R operator()(void)
Functor with varying numbers of arguments. 
 
void Assign(const CallbackBase &other)
Adopt the other's implementation, if type compatible. 
 
Callback< R, T2, T3, T4, T5, T6, T7, T8, T9 > Bind(T a)
Bind the first arguments. 
 
Base class for Callback class. 
 
MemPtrCallbackImpl(OBJ_PTR const &objPtr, MEM_PTR memPtr)
Construct from an object pointer and member function pointer. 
 
Callback< R > MakeNullCallback(void)
 
bool GetAccessor(T &value) const 
Give value my callback, if type compatible. 
 
CallbackImpl for functors with first three arguments bound at construction. 
 
#define NS_FATAL_ERROR(msg)
fatal error handling 
 
AttributeValue form of a Callback. 
 
The unqualified CallbackImpl class. 
 
R operator()(void)
Functor with varying numbers of arguments. 
 
TypeTraits< TX >::ReferencedType m_a
the bound argument 
 
make Callback use a separate empty type 
 
R operator()(void)
Functor with varying numbers of arguments. 
 
CallbackBase m_value
the CallbackBase 
 
bool CheckType(const CallbackBase &other) const 
Check for compatible types. 
 
FunctorCallbackImpl(T const &functor)
Construct from a functor. 
 
Trait class to convert a pointer into a reference, used by MemPtrCallBackImpl. 
 
BoundFunctorCallbackImpl(FUNCTOR functor, ARG a)
Construct from functor and a bound argument. 
 
OBJ_PTR const m_objPtr
the object pointer 
 
MEM_PTR m_memPtr
the member function pointer 
 
T * PeekPointer(const Ptr< T > &p)
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const 
Equality test. 
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const 
Equality test. 
 
Callback< R > MakeCallback(R(T::*memPtr)(void), OBJ objPtr)
 
ATTRIBUTE_ACCESSOR_DEFINE(Boolean)
 
CallbackImpl for pointer to member functions. 
 
Callback< R, T4, T5, T6, T7, T8, T9 > ThreeBind(TX1 a1, TX2 a2, TX3 a3)
Bind the first three arguments. 
 
bool DoCheckType(Ptr< const CallbackImplBase > other) const 
Check for compatible types. 
 
Abstract base class for CallbackImpl Provides reference counting and equality test. 
 
CallbackImpl for functors with first two arguments bound at construction. 
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const 
Equality test. 
 
Callback(Ptr< CallbackImpl< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > > const &impl)
Construct from a CallbackImpl pointer. 
 
R operator()(void) const 
Functor with varying numbers of arguments. 
 
TypeTraits< TX3 >::ReferencedType m_a3
third bound argument 
 
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test. 
 
virtual ~CallbackImplBase()
Virtual destructor. 
 
static std::string Demangle(const std::string &mangled)
 
bool IsEqual(const CallbackBase &other) const 
Equality test. 
 
static T & GetReference(T *const p)
 
TypeTraits< TX1 >::ReferencedType m_a1
first bound argument 
 
Callback(OBJ_PTR const &objPtr, MEM_PTR memPtr)
Construct a member function pointer call back. 
 
virtual ~ThreeBoundFunctorCallbackImpl()
 
R operator()(void)
Functor with varying numbers of arguments. 
 
TypeTraits< TX1 >::ReferencedType m_a1
first bound argument 
 
Callback(FUNCTOR const &functor, bool, bool)
Construct a functor call back, supporting operator() calls. 
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const 
Equality test. 
 
CallbackImpl for functors with first argument bound at construction. 
 
TwoBoundFunctorCallbackImpl(FUNCTOR functor, ARG1 arg1, ARG2 arg2)
Construct from functor and two arguments. 
 
CallbackImpl with functors. 
 
virtual bool DeserializeFromString(std::string value, Ptr< const AttributeChecker > checker)
Deserialize from string (not implemented) 
 
virtual R operator()(T1, T2, T3, T4, T5, T6, T7, T8, T9)=0
Abstract operator. 
 
Type trait reference values. 
 
virtual std::string SerializeToString(Ptr< const AttributeChecker > checker) const 
Serialize to string. 
 
virtual bool IsEqual(Ptr< const CallbackImplBase > other) const 
Equality test. 
 
void Nullify(void)
Discard the implementation, set it to null. 
 
virtual ~TwoBoundFunctorCallbackImpl()
 
TypeTraits< TX2 >::ReferencedType m_a2
second bound argument 
 
CallbackBase(Ptr< CallbackImplBase > impl)
Construct from a pimpl. 
 
A template-based reference counting class. 
 
virtual Ptr< AttributeValue > Copy(void) const 
 
ATTRIBUTE_CHECKER_DEFINE(Boolean)
 
CallbackImpl< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > * DoPeekImpl(void) const 
 
Ptr< CallbackImplBase > m_impl
the pimpl 
 
void Set(CallbackBase base)
 
TypeTraits< TX2 >::ReferencedType m_a2
second bound argument 
 
Ptr< CallbackImplBase > GetImpl(void) const 
 
ThreeBoundFunctorCallbackImpl(FUNCTOR functor, ARG1 arg1, ARG2 arg2, ARG3 arg3)
Construct from functor and three arguments. 
 
R operator()(void)
Functor with varying numbers of arguments.