This documentation is automatically generated by online-judge-tools/verification-helper
#include "src/cpp-template/header/make-vector.hpp"
(1) std::vector< T > make_vector(usize a, T b)
(2) auto make_vector(usize a, Ts... ts)
多次元の vector を返す。
たとえば
auto dp = make_vector(n, m, e)
のようにすると、dp[n][m]
が初期値 e
で宣言される。
要素の型は初期値に依存する。
#pragma once
#include "src/cpp-template/header/size-alias.hpp"
#include <vector>
namespace luz {
template < typename T >
std::vector< T > make_vector(usize a, T b) {
return std::vector< T >(a, b);
}
template < typename... Ts >
auto make_vector(usize a, Ts... ts) {
return std::vector< decltype(make_vector(ts...)) >(
a, make_vector(ts...));
}
} // namespace luz
#line 2 "src/cpp-template/header/make-vector.hpp"
#line 2 "src/cpp-template/header/size-alias.hpp"
#include <cstddef>
namespace luz {
using isize = std::ptrdiff_t;
using usize = std::size_t;
} // namespace luz
#line 4 "src/cpp-template/header/make-vector.hpp"
#include <vector>
namespace luz {
template < typename T >
std::vector< T > make_vector(usize a, T b) {
return std::vector< T >(a, b);
}
template < typename... Ts >
auto make_vector(usize a, Ts... ts) {
return std::vector< decltype(make_vector(ts...)) >(
a, make_vector(ts...));
}
} // namespace luz