/* This interface checks whether SWIG supports the new double angled brackets in the template syntax without having a space inbetween. This feature was introduced in new C++11 standard. */ %module cpp11_template_double_brackets %inline %{ #include std::map> map1; std::map< int,std::map > map2; std::map>> map3; std::map>>> map4; %} // Check streaming operators are still okay %rename(ExtractionOperator) operator>>; %rename(InsertionOperator) operator<<; %inline %{ class ABC { public: int a; int operator>>(ABC &) { return 0; } int operator<<(ABC &) { return 0; } }; template class ABC2 { public: int a; template U operator>>(ABC &); template U operator<<(ABC &); }; %}