This documentation is automatically generated by online-judge-tools/verification-helper
#include "src/template/input.hpp"
標準入力を受け取ります。
using namespace zawa::input;
することを前提にしています。
void zawa::input<T> in(T& res)
int
型やdouble
型、string
等の入力を受け取りますvoid zawa::input<T, U> in(std::pair<T, U>& res)
std::pair
型の入力を受け取ります。first
->second
の順で代入しますvoid zawa::input<T> in(std::vector<T>& res)
std::vector
型の入力を受け取ります。添字に対して昇順に値を代入します。for (auto a : as) in(a);
みたいにしてくださいvoid zawa::input<Head, Tail...> in(Head& head, Tail&... tail)
in(a, b, c, d)
みたいなことができます。使用例はtest/input~.test.cpp
を参照してください
#pragma once
#include <iostream>
#include <utility>
#include <vector>
namespace zawa::input {
template <typename T>
void in(T& res) { std::cin >> res; }
template <typename Head, typename... Tail>
void in(Head& head, Tail&... tail) { in(head); in(tail...); }
template <typename T, typename U>
void in(std::pair<T, U>& res) { in(res.first); in(res.second); }
template <typename T>
void in(std::vector<T>& res) { for (auto& r : res) { in(r); } }
} // namespace zawa::input
#line 2 "src/template/input.hpp"
#include <iostream>
#include <utility>
#include <vector>
namespace zawa::input {
template <typename T>
void in(T& res) { std::cin >> res; }
template <typename Head, typename... Tail>
void in(Head& head, Tail&... tail) { in(head); in(tail...); }
template <typename T, typename U>
void in(std::pair<T, U>& res) { in(res.first); in(res.second); }
template <typename T>
void in(std::vector<T>& res) { for (auto& r : res) { in(r); } }
} // namespace zawa::input