*** /usr/local/dailyLibraryBuild/src/vendor/incl/boost_1_32_0/boost/signals/signal_template.hpp	Mon Nov 22 15:31:21 2004
--- /home/host/razeh/boost_1_32_0/boost/signals/signal_template.hpp	Tue Dec  7 08:42:11 2004
***************
*** 343,353 ****
  #endif // BOOST_SIGNALS_NUM_ARGS > 0
      call_bound_slot f(&args);
  
      // Let the combiner call the slots via a pair of input iterators
      return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
!                                          impl->slots_.end(), f),
                        slot_call_iterator(notification.impl->slots_.end(),
!                                          impl->slots_.end(), f));
    }
  
    template<
--- 343,355 ----
  #endif // BOOST_SIGNALS_NUM_ARGS > 0
      call_bound_slot f(&args);
  
+     typedef typename call_bound_slot::result_type result_type;
+     optional<result_type> cache;
      // Let the combiner call the slots via a pair of input iterators
      return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
!                                          impl->slots_.end(), f, cache),
                        slot_call_iterator(notification.impl->slots_.end(),
!                                          impl->slots_.end(), f, cache));
    }
  
    template<
***************
*** 382,392 ****
  
      call_bound_slot f(&args);
  
      // Let the combiner call the slots via a pair of input iterators
      return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
!                                          impl->slots_.end(), f),
                        slot_call_iterator(notification.impl->slots_.end(),
!                                          impl->slots_.end(), f));
    }
  } // namespace boost
  
--- 384,397 ----
  
      call_bound_slot f(&args);
  
+     typedef typename call_bound_slot::result_type result_type;
+     optional<result_type> cache;
+ 
      // Let the combiner call the slots via a pair of input iterators
      return combiner()(slot_call_iterator(notification.impl->slots_.begin(),
!                                          impl->slots_.end(), f, cache),
                        slot_call_iterator(notification.impl->slots_.end(),
!                                          impl->slots_.end(), f, cache));
    }
  } // namespace boost
  
