template <typename Container>
class reverse_adaptor
{
public: // Construction
reverse_adaptor(Container &container) :
m_container(container)
{}
private: // Members
Container &m_container;
public: // STL container static polymorphism
auto begin() const -> decltype(m_container.rbegin())
{
return m_container.rbegin();
}
auto end() const -> decltype(m_container.rend())
{
return m_container.rend();
}
};
int main() {
// your code goes here
return 0;
}
dGVtcGxhdGUgPHR5cGVuYW1lIENvbnRhaW5lcj4KY2xhc3MgcmV2ZXJzZV9hZGFwdG9yCnsKcHVibGljOiAvLyBDb25zdHJ1Y3Rpb24KICAgIHJldmVyc2VfYWRhcHRvcihDb250YWluZXIgJmNvbnRhaW5lcikgOgogICAgICAgIG1fY29udGFpbmVyKGNvbnRhaW5lcikKICAgIHt9Cgpwcml2YXRlOiAvLyBNZW1iZXJzCiAgICBDb250YWluZXIgJm1fY29udGFpbmVyOwoKcHVibGljOiAvLyBTVEwgY29udGFpbmVyIHN0YXRpYyBwb2x5bW9ycGhpc20KICAgIGF1dG8gYmVnaW4oKSBjb25zdCAtPiBkZWNsdHlwZShtX2NvbnRhaW5lci5yYmVnaW4oKSkKICAgIHsKICAgICAgICByZXR1cm4gbV9jb250YWluZXIucmJlZ2luKCk7CiAgICB9CgogICAgYXV0byBlbmQoKSBjb25zdCAtPiBkZWNsdHlwZShtX2NvbnRhaW5lci5yZW5kKCkpCiAgICB7CiAgICAgICAgcmV0dXJuIG1fY29udGFpbmVyLnJlbmQoKTsKICAgIH0KfTsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=