<p>In the <a href="http://www.boost.org/doc/html/signals.html" rel="noreferrer" title="Boost Signals documentation">Boost Signals</a> library, they are overloading the () operator.</p>

<p>Is this a convention in C++? For callbacks, etc.?</p>

<p>I have seen this in code of a co-worker (who happens to be a big Boost fan). Of all the Boost goodness out there, this has only led to confusion for me.</p>

<p>Any insight as to the reason for this overload?</p>

Another co-worker pointed out that it could be a way to disguise functor objects as functions. For example, this:
```
```
my_functor();
```
```
Is really:
```
```
my_functor.operator()();
```
```
So does that mean this:
```
```
my_functor(int n, float f){ ... };
```
```
Can be used to overload this as well?
```
```
my_functor.operator()(int n, float f){ ... };
```
```