8#include "source_location.h"
11#if !defined(__cpp_concepts)
12#error "This library requires concepts"
15#ifdef __INTELLISENSE__
16#define EQ_SOURCE_LOCATION = source_location{}
18#define EQ_SOURCE_LOCATION = source_location::current()
43 source_location Location;
46 requires (!std::same_as<std::remove_cvref_t<U>,
with_sl<T>>)
48 : Object(std::forward<U>(
u)), Location(std::move(
loc))
60 template <
typename T,
typename HASH_FUNC = crc64_hasher>
64 using hash_type =
decltype(
HASH_FUNC{}(source_location{}));
67 hash_type LocationHash;
70 requires (!std::same_as<std::remove_cvref_t<U>,
with_slh<T>>)
76 : Object(std::forward<U>(
t)), LocationHash(
loc)
constexpr auto bit_count
Equal to the number of bits in the type.
Primary namespace for everything in this library.
Use as a function parameter type to capture both the parameter and the call-site source location.
Use as a function parameter type to capture both the parameter and the hash of the call-site source l...