@@ -220,16 +220,19 @@ LIBHAT_EXPORT namespace hat {
220220
221221namespace hat ::detail {
222222
223+ #ifdef LIBHAT_HAS_CONSTEXPR_RESULT
223224 template <size_t N>
224225 [[nodiscard]] consteval std::pair<std::array<signature_element, N>, size_t > compile_signature_max_size (std::string_view str) {
225226 std::array<signature_element, N> array;
226227 auto size = parse_signature_to (array.begin (), str);
227228 return {array, size.value ()};
228229 }
230+ #endif
229231}
230232
231233LIBHAT_EXPORT namespace hat {
232234
235+ #ifdef LIBHAT_HAS_CONSTEXPR_RESULT
233236 // / Parses a signature string at compile time and returns the result as a fixed_signature
234237 template <fixed_string str>
235238 [[nodiscard]] consteval auto compile_signature () {
@@ -241,6 +244,7 @@ LIBHAT_EXPORT namespace hat {
241244 std::move (pair.first .begin (), pair.first .begin () + pair.second , arr.begin ());
242245 return arr;
243246 }
247+ #endif
244248
245249 [[nodiscard]] constexpr std::string to_string (const signature_view signature) {
246250 constexpr std::string_view hex{" 0123456789ABCDEF" };
@@ -278,6 +282,7 @@ LIBHAT_EXPORT namespace hat {
278282
279283LIBHAT_EXPORT namespace hat ::inline literals::inline signature_literals {
280284
285+ #ifdef LIBHAT_HAS_CONSTEXPR_RESULT
281286 template <hat::fixed_string str>
282287 consteval auto operator " " _sig() noexcept {
283288 return hat::compile_signature<str>();
@@ -290,4 +295,6 @@ LIBHAT_EXPORT namespace hat::inline literals::inline signature_literals {
290295 return hat::signature_view{sig};
291296 }
292297#endif
298+
299+ #endif
293300}
0 commit comments