Retyping
Prev | Chapter 4. Advanced topics | Next

## Retyping

A similar topic is retyping. Perhaps you have a signal that takes an `int`, but you want to connect a function that takes a `double`.

This can be achieved with the `sigc::retype` template. `retype` has template arguments just like `sigc::signal` - return value, signal types.

It's a function template that takes a `sigc::slot`, and returns a `sigc::slot`. eg.

    void dostuff(double foo)
    {
    }

    sigc::signal<void,int> asignal;

    asignal.connect(  sigc::retype<void, int>( slot(&dostuff) )  );

If you only want to change the return type, you can use `sigc::retype_return`. `retype_return` needs only one template argument.

Prev | Up | Next
Chapter 4. Advanced topics | Home | Marshallers