Simple-Utility v2.3.1
Loading...
Searching...
No Matches
Config.hpp
Go to the documentation of this file.
1// Copyright Dominic Koepke 2019 - 2023.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at
4// https://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef SL_UTILITY_CONFIG_HPP
7#define SL_UTILITY_CONFIG_HPP
8
9#pragma once
10
11#define SL_UTILITY_STR(arg) #arg
12#define SL_UTILITY_XSTR(arg) SL_UTILITY_STR(arg)
13
14#if __has_cpp_attribute(no_unique_address)
15 #define SL_UTILITY_NO_UNIQUE_ADDRESS [[no_unique_address]]
16 #define SL_UTILITY_NO_UNIQUE_ADDRESS_ENABLED
17#elif _MSC_VER >= 1929 && not defined(__clang__)
18 #define SL_UTILITY_NO_UNIQUE_ADDRESS [[msvc::no_unique_address]]
19 #define SL_UTILITY_NO_UNIQUE_ADDRESS_ENABLED
20#else
21 #define SL_UTILITY_NO_UNIQUE_ADDRESS
22#endif
23
24#define SL_UTILITY_VERSION_MAJOR 2 // NOLINT(modernize-macro-to-enum)
25#define SL_UTILITY_VERSION_MINOR 3 // NOLINT(modernize-macro-to-enum)
26#define SL_UTILITY_VERSION_PATCH 1 // NOLINT(modernize-macro-to-enum)
27
28#define SL_UTILITY_VERSION \
29 SL_UTILITY_XSTR(SL_UTILITY_VERSION_MAJOR) \
30 "." SL_UTILITY_XSTR(SL_UTILITY_VERSION_MINOR) \
31 "." SL_UTILITY_XSTR(SL_UTILITY_VERSION_PATCH)
32
33#endif