LeviLamina
Loading...
Searching...
No Matches
ProfileGroupManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/move_only_function.h"
7#include "mc/platform/threading/LockGuard.h"
8#include "mc/platform/threading/SharedLock.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace Core::Profile { class ProfileGroup; }
13namespace Util { struct string_hash; }
14// clang-format on
15
16namespace Core::Profile {
17
18class ProfileGroupManager {
19public:
20 // ProfileGroupManager inner types declare
21 // clang-format off
22 class Factory;
23 class Impl;
24 // clang-format on
25
26 // ProfileGroupManager inner types define
27 class Factory {};
28
29 class Impl {
30 public:
31 // Impl inner types declare
32 // clang-format off
33 struct StringCompare;
34 // clang-format on
35
36 // Impl inner types define
37 struct StringCompare {};
38
39 public:
40 // member variables
41 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 Impl& operator=(Impl const&);
53 Impl(Impl const&);
54 Impl();
55
56 public:
57 // member functions
58 // NOLINTBEGIN
59 MCNAPI ::Core::Profile::ProfileGroup* find(::std::string_view groupName);
60
61 MCNAPI ::Core::Profile::ProfileGroup& findOrCreate(::std::string_view groupName, uint color);
62
63 MCNAPI ~Impl();
64 // NOLINTEND
65
66 public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCNAPI void $dtor();
70 // NOLINTEND
71 };
72
73public:
74 // member variables
75 // NOLINTBEGIN
77 // NOLINTEND
78
79public:
80 // prevent constructor by default
81 ProfileGroupManager& operator=(ProfileGroupManager const&);
82 ProfileGroupManager(ProfileGroupManager const&);
83 ProfileGroupManager();
84
85public:
86 // member functions
87 // NOLINTBEGIN
88 MCNAPI ::Core::Profile::ProfileGroup* find(::std::string_view groupName);
89
90 MCNAPI void forEachGroup(::std::function<void(::Core::Profile::ProfileGroup&)> const& fn);
91
92 MCNAPI ::brstd::move_only_function<void(::Core::Profile::ProfileGroup&)>& notifyOnNewGroup();
93 // NOLINTEND
94
95public:
96 // static functions
97 // NOLINTBEGIN
98 MCNAPI static ::Core::Profile::ProfileGroupManager& getSharedInstance();
99 // NOLINTEND
100};
101
102} // namespace Core::Profile
Definition ProfileGroupManager.h:27
Definition ProfileGroupManager.h:29
MCAPI::Core::Profile::ProfileGroup & findOrCreate(::std::string_view groupName, uint color)
MCAPI::Core::Profile::ProfileGroup * find(::std::string_view groupName)
MCAPI void forEachGroup(::std::function< void(::Core::Profile::ProfileGroup &)> const &fn)
MCAPI ::brstd::move_only_function< void(::Core::Profile::ProfileGroup &)> & notifyOnNewGroup()
static MCAPI ::Core::Profile::ProfileGroupManager & getSharedInstance()
MCAPI::Core::Profile::ProfileGroup * find(::std::string_view groupName)
Definition ProfileGroup.h:7
Definition string_hash.h:7
Definition Alias.h:14