template<typename MapT> ostream & operator << (ostream & o, MapT & m)
{
typedef typename MapT::key_type T1;
typedef typename MapT::mapped_type T2;
..
}
gives the cute one liner below:
error LNK2019: unresolved external symbol "class
std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
operator<<<class std::vector<int,class std::allocator<int> >,class
std::map<class std::vector<int,class std::allocator<int> >,int,struct
std::less<class std::vector<int,class std::allocator<int> > >,class
std::allocator<struct std:
air<class std::vector<int,class
std::allocator<int> > const ,int> > > >(class
std::basic_ostream<char,struct std::char_traits<char> > &,class
std::map<class std::vector<int,class std::allocator<int> >,class
std::map<class std::vector<int,class std::allocator<int> >,int,struct
std::less<class std::vector<int,class std::allocator<int> > >,class
std::allocator<struct std:
air<class std::vector<int,class
std::allocator<int> > const ,int> > >,struct std::less<class
std::vector<int,class std::allocator<int> > >,class
std::allocator<struct std:
air<class std::vector<int,class
std::allocator<int> > const ,class std::map<class
std::vector<int,class std::allocator<int> >,int,struct std::less<class
std::vector<int,class std::allocator<int> > >,class
std::allocator<struct std:
air<class std::vector<int,class
std::allocator<int> > const ,int> > > > > > &)" (??$?6V?$vector@HV?
$allocator@H@std@@@std@@V?$map@V?$vector@HV?$allocator@H@std@@@std@@HU?
$less@V?$vector@HV?$allocator@H@std@@@std@@@2@V?$allocator@U?$pair@$
$CBV?$vector@HV?$allocator@H@std@@@std@@H@std@@@2@@1@@@YAAAV?
$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$map@V?
$vector@HV?$allocator@H@std@@@std@@V?$map@V?$vector@HV?
$allocator@H@std@@@std@@HU?$less@V?$vector@HV?
$allocator@H@std@@@std@@@2@V?$allocator@U?$pair@$$CBV?$vector@HV?
$allocator@H@std@@@std@@H@std@@@2@@2@U?$less@V?$vector@HV?
$allocator@H@std@@@std@@@2@V?$allocator@U?$pair@$$CBV?$vector@HV?
$allocator@H@std@@@std@@V?$map@V?$vector@HV?$allocator@H@std@@@std@@HU?
$less@V?$vector@HV?$allocator@H@std@@@std@@@2@V?$allocator@U?$pair@$
$CBV?$vector@HV?$allocator@H@std@@@std@@H@std@@@2@@2@@std@@@2@@1@@Z)
referenced in function _main