added: 'operator<<(std::pair<tmat4x4<T,P>, tmat4x4<T,P>>)' routed to 'operator<<(std::pair<tmat4x4<T,P> const, tmat4x4<T,P> const>)' to avoid specifier removal by 'std::make_pair<>' and follow-up type-deduction problems; see [http://stackoverflow.com/questions/29985791/]

This commit is contained in:
jan p springer 2015-05-01 13:42:56 +01:00
parent a472f50767
commit e590111375
2 changed files with 17 additions and 2 deletions

View File

@ -214,12 +214,18 @@ namespace glm
template <typename CTy, typename CTr, typename T, precision P> template <typename CTy, typename CTr, typename T, precision P>
GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&); GLM_FUNC_DECL std::basic_ostream<CTy,CTr>& operator<<(std::basic_ostream<CTy,CTr>&, tmat4x4<T,P> const&);
template <typename CTy, typename CTr, typename T, precision P> template <typename CTy, typename CTr, typename T, precision P>
GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<( GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
std::basic_ostream<CTy,CTr> &, std::basic_ostream<CTy,CTr> &,
std::pair<tmat4x4<T,P> const, std::pair<tmat4x4<T,P> const,
tmat4x4<T,P> const> const &); tmat4x4<T,P> const> const &);
template <typename CTy, typename CTr, typename T, precision P>
GLM_FUNC_DECL std::basic_ostream<CTy,CTr> & operator<<(
std::basic_ostream<CTy,CTr> &,
std::pair<tmat4x4<T,P>,
tmat4x4<T,P>> const &);
/// @} /// @}
}//namespace glm }//namespace glm

View File

@ -645,4 +645,13 @@ namespace io
return os; return os;
} }
template <typename CTy, typename CTr, typename T, precision P>
GLM_FUNC_QUALIFIER std::basic_ostream<CTy,CTr>& operator<<(
std::basic_ostream<CTy,CTr> & os,
std::pair<tmat4x4<T,P>, tmat4x4<T,P>> const& a)
{
return operator<<(os, static_cast<std::pair<tmat4x4<T,P> const, tmat4x4<T,P> const> const&>(a));
}
}//namespace glm }//namespace glm