kblib 0.2.3
General utilities library for modern C++
|
Provides macros and basic templates used by the rest of kblib. More...
#include <cstddef>
Go to the source code of this file.
Classes | |
struct | kblib::detail::tag< T > |
struct | kblib::detail::no_dangle< T > |
struct | kblib::detail::no_dangle< T && > |
Namespaces | |
namespace | kblib |
The main namespace in which all entities from kblib are defined. | |
namespace | kblib::detail |
The namespace used for implementation details within kblib. | |
Macros | |
#define | KBLIB_VERS 1000203 |
#define | KBLIB_VERS_MAJ 0 |
#define | KBLIB_VERS_MIN 2 |
#define | KBLIB_VERS_REV 3 |
#define | KBLIB_VERS_S KBLIB_VERS_MAJ##_##KBLIB_VERS_MIN##_##KBLIB_VERS_REV |
#define | KBLIB_VERS_NS api_v##KBLIB_VERS_S |
#define | KBLIB_USE_CXX17 __cplusplus >= 201703L |
This internal macro is used to determine if kblib can use C++17 features. More... | |
#define | KBLIB_USE_CXX20 __cplusplus >= 202002L |
This internal macro is used to determine if kblib can use C++20 features. More... | |
#define | KBLIB_USE_STRING_VIEW __cpp_lib_string_view |
This internal macro is used to determine if kblib can use C++17's std::string_view. More... | |
#define | KBLIB_NODISCARD [[nodiscard]] |
This internal macro is used to provide a fallback for [[nodiscard]] in C++14. More... | |
#define | KBLIB_UNUSED [[maybe_unused]] |
This internal macro is used to provide a fallback for [[maybe_unused]] in C++14. More... | |
#define | KBLIB_CONSTANT constexpr |
#define | KBLIB_CONSTANT_V constexpr bool |
#define | KBLIB_CONSTANT_M constexpr inline static |
#define | KBLIB_CONSTANT_MV constexpr inline static bool |
#define | KBLIB_CXX20(args) |
This internal macro is used to selectively use C++20 features. More... | |
Typedefs | |
template<typename T > | |
using | kblib::detail::no_dangle_t = typename no_dangle< T >::type |
Enumerations | |
enum class | kblib::endian { kblib::unknown , kblib::little , kblib::big , kblib::weird } |
Functions | |
constexpr auto | kblib::detail::get_hash_order () -> endian |
Variables | |
constexpr endian | kblib::system_endian = endian::unknown |
constexpr endian | kblib::hash_order = detail::get_hash_order() |
Provides macros and basic templates used by the rest of kblib.
Definition in file tdecl.h.
#define KBLIB_CXX20 | ( | args | ) |
#define KBLIB_NODISCARD [[nodiscard]] |
#define KBLIB_UNUSED [[maybe_unused]] |
#define KBLIB_USE_CXX17 __cplusplus >= 201703L |
#define KBLIB_USE_CXX20 __cplusplus >= 202002L |
#define KBLIB_USE_STRING_VIEW __cpp_lib_string_view |
#define KBLIB_VERS_NS api_v##KBLIB_VERS_S |
#define KBLIB_VERS_S KBLIB_VERS_MAJ##_##KBLIB_VERS_MIN##_##KBLIB_VERS_REV |