libcopp  2.2.0
uint64_id_allocator.h
Go to the documentation of this file.
1 // Copyright 2023 owent
2 
3 #pragma once
4 
5 #include <libcopp/utils/config/libcopp_build_features.h>
6 
7 // clang-format off
8 #include <libcopp/utils/config/stl_include_prefix.h> // NOLINT(build/include_order)
9 // clang-format on
10 #include <stdint.h>
11 // clang-format off
12 #include <libcopp/utils/config/stl_include_suffix.h> // NOLINT(build/include_order)
13 // clang-format on
14 
15 LIBCOPP_COPP_NAMESPACE_BEGIN
16 namespace util {
17 class LIBCOPP_COPP_API uint64_id_allocator {
18  public:
19  using value_type = uint64_t;
20 
21  static constexpr const value_type npos = 0;
23  static value_type allocate() LIBCOPP_MACRO_NOEXCEPT;
24  static void deallocate(value_type) LIBCOPP_MACRO_NOEXCEPT;
25 };
26 } // namespace util
27 LIBCOPP_COPP_NAMESPACE_END