libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
15LIBCOPP_COPP_NAMESPACE_BEGIN
16namespace util {
17class 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
27LIBCOPP_COPP_NAMESPACE_END