I'm using Boost Python to provide a python interface to some classes in C++.
I have found this situation that I'm not sure how to solve:

I have a class that has this member functions:

```
virtual void visit(const ReportClass r) = 0;
virtual void visit(const unsigned int category) = 0;
virtual void visit(const char* type) = 0;
virtual void visit(const char* name, const unsigned int id, const char &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned short &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned int &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const MaskedAddr &value ) = 0;
virtual void visit(const char* name, const unsigned int id, const unsigned long long &value ) = 0;

```

I'm a bit lost on how to implement the python-boost part, I have seen how to proceed with virtual functions and overloaded functions but I don't know how to combine both.

And by the way, I see in the example that a virtual function returning an int (for example) should be implemented this way:

```
int f()
{
    return this->get_override("f")();
}

```

In my case they do not return anything I guess I should implement them this way:

```
void f()
{
     this->get_override("f")();
}

```

Is this correct?

Thanks in advance