SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
static_band.hpp
Go to the documentation of this file.
1
// -----------------------------------------------------------------------------------------------------
2
// Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3
// Copyright (c) 2016-2020, Knut Reinert & MPI für molekulare Genetik
4
// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5
// shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6
// -----------------------------------------------------------------------------------------------------
7
13
#pragma once
14
15
#include <
stdexcept
>
16
17
#include <
seqan3/core/algorithm/bound.hpp
>
18
#include <
seqan3/std/concepts
>
19
20
namespace
seqan3
21
{
22
26
class
static_band
27
{
28
public
:
32
constexpr
static_band
() noexcept = default;
33
constexpr
static_band
(
static_band
const &) noexcept = default;
34
constexpr
static_band
(
static_band
&&) noexcept = default;
35
constexpr
static_band
& operator=(
static_band
const &) noexcept = default;
36
constexpr
static_band
& operator=(
static_band
&&) noexcept = default;
37
~
static_band
() noexcept = default;
38
50
template <
std
::integral input_value_t>
51
constexpr
static_band
(
lower_bound
<input_value_t> const lower,
upper_bound
<input_value_t> const upper)
52
:
lower_bound
{lower.get()},
upper_bound
{upper.get()}
53
{
54
if
(lower.get() > upper.get())
55
{
56
throw
std::invalid_argument
(
"The upper boundary must not be smaller than the lower boundary."
);
57
}
58
}
60
62
int64_t
lower_bound
{
std::numeric_limits<int64_t>::lowest
()};
64
int64_t
upper_bound
{
std::numeric_limits<int64_t>::max
()};
65
};
66
67
}
// namespace seqan3
bound.hpp
Provides seqan3::lower_bound and seqan3::upper_bound.
seqan3::lower_bound
Type for a lower boundary.
Definition:
bound.hpp:27
seqan3::upper_bound
Type for an upper boundary.
Definition:
bound.hpp:38
seqan3::static_band
Data structure for a static band.
Definition:
static_band.hpp:27
concepts
The Concepts library.
std::numeric_limits::lowest
T lowest(T... args)
stdexcept
seqan3::static_band::static_band
constexpr static_band() noexcept=default
Defaulted.
seqan3
The main SeqAn3 namespace.
Definition:
aligned_sequence_concept.hpp:29
std::invalid_argument
std
SeqAn specific customisations in the standard namespace.
std::numeric_limits::max
T max(T... args)
seqan3
alignment
band
static_band.hpp
Generated on Thu Dec 3 2020 18:58:17 for SeqAn3 by
1.8.20