On Sunday, 6 September 2015 at 19:22:41 UTC, welkam wrote:
I dont know much about functional programming, but what stops you defining

int readInt(string prompt, validator_t validator) { ... }

as a free standing function and just call it from both parts of your code? What is the benefit of indirection that you create when passing function pointer?

Nothing specific to FP here. I simply do not want to share the details of reading an integer with part B.

Imagine the same thing done with classes:

    // part A
    //
    class IntReader {
       string prompt;
       validator_t validator;

       int read() const { ... }
    }

    // part B
    //
    auto ir = new IntReader(...);
    foo(ir);

This way, all `foo` needs to know is calling `read` to get an integer. I'm trying to achieve the same thing here with functions, if possible.

Reply via email to