CompProgLibrary

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

View the Project on GitHub RTnF/CompProgLibrary

:warning: 区間 [start, end)
(cpp/interval/interval.hpp)

Depends on

Code

#pragma once
#include "template/small_template.hpp"

/**
 * @brief 区間 [start, end)
 *
 * @tparam T
 */
template <class T = ll> class Interval {
  T s, e;
  // 空の区間
  bool is_n;

public:
  constexpr Interval(T start_, T end_)
      : s(start_), e(end_), is_n(start_ == end_) {
    assert(start_ <= end_);
  }
  constexpr Interval() : s(0), e(0), is_n(true) {}
  constexpr auto operator<=>(const Interval &r) const = default;

  constexpr T start() { return s; }
  constexpr T end() { return e; }
  constexpr bool is_null() { return is_n; }
  constexpr T length() { return e - s; }

  Interval<T> intersection(const Interval<T> &b) const {
    if (b.s >= e || s >= b.e) {
      return Interval<T>();
    }
    return Interval(max(s, b.s), min(e, b.e));
  }

  friend istream &operator>>(istream &is, Interval &m) {
    is >> m.s >> m.e;
    return is;
  }
  friend ostream &operator<<(ostream &os, const Interval &m) {
    os << '[' << m.s << ", " << m.e << ')';
    return os;
  }
};
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
    bundler.update(path)
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 401, in update
    self.update(self._resolve(pathlib.Path(included), included_from=path))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 260, in _resolve
    raise BundleErrorAt(path, -1, "no such header")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: template/small_template.hpp: line -1: no such header
Back to top page