comp-library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub luzhiled1333/comp-library

:heavy_check_mark: make vector
(src/cpp-template/header/make-vector.hpp)

make_vector

(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 で宣言される。

要素の型は初期値に依存する。

Depends on

Required by

Verified with

Code

#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
Back to top page