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. It takes a `sigc::slot`, and returns a `sigc::slot`. eg.

    void dostuff(double foo)
    {
    }

    sigc::signal<void(int)> asignal;

    asignal.connect( sigc::retype( sigc::ptr_fun(&dostuff) ) );

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

Prev | Up | Next
Chapter 4. Advanced topics | Home | Chapter 5. Reference