Provides platform and dependency checks. More...
Go to the source code of this file.
Macros | |
#define | SEQAN3_DEPRECATED_HEADER(message) SEQAN3_PRAGMA(GCC warning message) |
Deprecation message for deprecated header. | |
#define | SEQAN3_DISABLE_LEGACY_STD_DIAGNOSTIC |
This disables the warning you would get if -D_GLIBCXX_USE_CXX11_ABI=0 is set. | |
#define | SEQAN3_PRAGMA(non_string_literal) _Pragma(#non_string_literal) |
_Pragma requires a string-literal and # makes it a string | |
#define | SEQAN3_RETURN_TYPE_CONSTRAINT(expression, concept_name, ...) {expression} -> concept_name<__VA_ARGS__> |
Same as writing {expression} -> concept_name<type1[, ...]> in a concept definition. | |
#define | SEQAN3_WITH_CEREAL 0 |
Whether CEREAL support is available or not. | |
#define | SEQAN3_WITH_LEMON 0 |
Whether Lemon support is available or not. | |
#define | SEQAN3_WORKAROUND_GCC7_AND_8_CONCEPT_ISSUES 0 |
Various concept problems only present in GCC7 and GCC8. | |
#define | SEQAN3_WORKAROUND_GCC_100139 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100139 std::views::{take, drop} do not type-erase. This is a defect within the standard lib. | |
#define | SEQAN3_WORKAROUND_GCC_83328 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83328. | |
#define | SEQAN3_WORKAROUND_GCC_87113 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87113. | |
#define | SEQAN3_WORKAROUND_GCC_89953 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89953. | |
#define | SEQAN3_WORKAROUND_GCC_90897 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90897. | |
#define | SEQAN3_WORKAROUND_GCC_93467 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93467. | |
#define | SEQAN3_WORKAROUND_GCC_94967 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94967 gcc7 does not preserve the const && type using std::get. | |
#define | SEQAN3_WORKAROUND_GCC_96070 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96070 and https://github.com/seqan/product_backlog/issues/151. | |
#define | SEQAN3_WORKAROUND_GCC_99318 0 |
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99318. | |
#define | SEQAN3_WORKAROUND_GCC_INCOMPLETE_FILESYSTEM 0 |
GCC 7 only offers an experimental filesystems implementation. | |
#define | SEQAN3_WORKAROUND_GCC_NO_CXX11_ABI 0 |
This is needed to support CentOS 7 or RHEL 7; Newer CentOS's include a more modern default-gcc version making this macro obsolete. More... | |
#define | SEQAN3_WORKAROUND_GCC_NON_TEMPLATE_REQUIRES 0 |
https://eel.is/c++draft/range.take#view defines e.g. constexpr auto size() requires sized_range<V> without any template. This syntax works since gcc-10, before that a dummy template <typename = ...> must be used. | |
#define | SEQAN3_WORKAROUND_GCC_PIPEABLE_CONFIG_CONCEPT 0 |
Workaround to access the static id of the configuration elements inside of the concept definition (fixed in gcc11). | |
#define | SEQAN3_WORKAROUND_ISSUE_286 0 |
See https://github.com/seqan/product_backlog/issues/286. | |
#define | SEQAN3_WORKAROUND_VIEW_PERFORMANCE 1 |
Warn about gcc 10.0 and gcc 10.1 Known Issues: More... | |
Provides platform and dependency checks.
| no-api |
This is needed to support CentOS 7 or RHEL 7; Newer CentOS's include a more modern default-gcc version making this macro obsolete.
In GCC 5 there was a bigger ABI change and modern systems compile with dual ABI, but some enterprise systems (those where gcc 4 is the standard compiler) don't support dual ABI. This has the effect that even community builds of gcc are build with –disable-libstdcxx-dual-abi. Only building the compiler yourself would solve this problem.
| no-api |
Warn about gcc 10.0 and gcc 10.1 Known Issues:
Performance of views, especially filter and join is currently bad, especially in I/O.