#include <iostream>
using namespace std;

class mah_class
{
public:
	template <class T>
	void operator<<(const T & t )
	{
		t( *this );
	}
};

void func( mah_class & c )
{
	//do something useful with c
	std::cout << "test";
}

int main() {
	mah_class c;
	c<<func;
	return 0;
}