HIBF 1.0.0-rc.1
Loading...
Searching...
No Matches
md_vector.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024, Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024, Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
12#include <vector> // for vector
13
14#include <hibf/platform.hpp>
15
16namespace seqan::hibf
17{
18
19template <typename value_t>
20struct md_vector : public std::vector<std::vector<value_t>>
21{
23 using base_t::base_t;
24 using base_t::operator[];
25#if defined(__cpp_explicit_this_parameter) && __cpp_explicit_this_parameter >= 202110L
26 decltype(auto) operator[](this auto & self, size_t const x, size_t const y)
27 {
28 return self[x][y];
29 }
30#else
31 value_t & operator[](size_t const x, size_t const y)
32 {
33 return (*this)[x][y];
34 }
35 value_t const & operator[](size_t const x, size_t const y) const
36 {
37 return (*this)[x][y];
38 }
39#endif
40};
41
42} // namespace seqan::hibf
Provides platform and dependency checks.
Definition md_vector.hpp:21