SeqAn3  3.2.0
The Modern C++ library for sequence analysis.
argument_parser/detail/concept.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2022, 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 <concepts>
16 #include <string>
17 #include <type_traits>
18 
19 #include <seqan3/core/platform.hpp>
20 
21 namespace seqan3::detail
22 {
23 
42 template <typename option_type>
43 concept is_container_option = !
44 std::is_same_v<std::remove_cvref_t<option_type>, std::string> && requires (
45  option_type container,
47  {
48  container.push_back(value)
49  };
50  };
52 
53 } // namespace seqan3::detail
The <concepts> header from C++20's standard library.
requires requires
The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank....
Definition: alphabet/concept.hpp:164
The (most general) container concept as defined by the standard library.
Provides platform and dependency checks.