#include <functional>
using namespace std;
template < typename ARGUEMENT, typename RESULT>
class FunctorBase : public std:: unary_function < ARGUEMENT, RESULT>
{
public :
virtual result_type operator ( ) ( argument_type) = 0 ;
FunctorBase( ) { }
virtual ~FunctorBase( ) { }
} ;
int main( )
{
FunctorBase< int & , void > ( ) ;
}
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAp0ZW1wbGF0ZSA8dHlwZW5hbWUgQVJHVUVNRU5ULCB0eXBlbmFtZSBSRVNVTFQ+CmNsYXNzIEZ1bmN0b3JCYXNlIDogcHVibGljIHN0ZDo6dW5hcnlfZnVuY3Rpb248QVJHVUVNRU5ULCBSRVNVTFQ+CnsKcHVibGljOgogICAgdmlydHVhbCByZXN1bHRfdHlwZSBvcGVyYXRvciAoKSAoYXJndW1lbnRfdHlwZSkgPSAwOwogICAgICAgIEZ1bmN0b3JCYXNlKCkge30KICAgICAgICB2aXJ0dWFsIH5GdW5jdG9yQmFzZSgpIHt9Cn07CgppbnQgbWFpbigpCnsKICAgIEZ1bmN0b3JCYXNlPGludCYsIHZvaWQ+KCk7Cn0K