Boost logo

Boost Users :

From: Memfis (memfis+news_at_[hidden])
Date: 2006-12-05 06:38:40


I have two signals:
signal<void(int)> source;
signal<void(string)> target;

What want is for every call:
source(12345);
to have a call:
target("the value is 12345");

I am trying to achieve this with format and bind, but without much luck.
  What I came up with is the following:
source.connect(bind(ref(target),
     bind(&format::str,
         bind(&format::operator%,
             format("the value is %1"), _1)));

Unfortunately the code above treats the parameter to source as if it was
empty, i.e. I get calls
target("the value is ");

What am I doing wrong and how can this be done correctly?

-- 
Memfis

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net