This documentation is automatically generated by competitive-verifier/competitive-verifier
#include "lib/template/vector.hpp"#pragma once
#include <algorithm>
#include <vector>
struct increment_impl {
template <class T>
const increment_impl &operator>>(std::vector<T> &v) const {
for (auto &x : v) ++x;
return *this;
}
} Inc;
struct decrement_impl {
template <class T>
const decrement_impl &operator>>(std::vector<T> &v) const {
for (auto &x : v) --x;
return *this;
}
} Dec;
struct sort_impl {
template <class T>
const sort_impl &operator>>(std::vector<T> &v) const {
std::sort(v.begin(), v.end());
return *this;
}
} Sort;
struct unique_impl {
template <class T>
const unique_impl &operator>>(std::vector<T> &v) const {
std::sort(v.begin(), v.end());
v.erase(std::unique(v.begin(), v.end()), v.end());
return *this;
}
} Uniq;
#line 2 "lib/template/vector.hpp"
#include <algorithm>
#include <vector>
struct increment_impl {
template <class T>
const increment_impl &operator>>(std::vector<T> &v) const {
for (auto &x : v) ++x;
return *this;
}
} Inc;
struct decrement_impl {
template <class T>
const decrement_impl &operator>>(std::vector<T> &v) const {
for (auto &x : v) --x;
return *this;
}
} Dec;
struct sort_impl {
template <class T>
const sort_impl &operator>>(std::vector<T> &v) const {
std::sort(v.begin(), v.end());
return *this;
}
} Sort;
struct unique_impl {
template <class T>
const unique_impl &operator>>(std::vector<T> &v) const {
std::sort(v.begin(), v.end());
v.erase(std::unique(v.begin(), v.end()), v.end());
return *this;
}
} Uniq;