#include <queue>
#include <iostream>

template<class Q>
typename Q::value_type pop(Q& q) {
    auto result = q.front();
    q.pop();
    return result;
};

int main() {
    std::queue<int> q;
    q.push(1);
    std::cout << pop(q);
}
