
template <typename T>
class foo {
	public:
		foo() { }
		~foo() { }

		void bar();

	private:
		void privbar();
};

template <>
void foo<int>::privbar()
{
	do_work();
}

template <>
void foo<long>::privbar()
{
	do_work();
}
