| helics 3.6.1

GuardedTypes.hpp
1 /*
2 Copyright (c) 2017-2025,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable
4 Energy, LLC. See the top-level NOTICE for additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 #pragma once
8
9 #include "gmlc/libguarded/atomic_guarded.hpp"
10 #include "gmlc/libguarded/guarded.hpp"
11 #include "gmlc/libguarded/guarded_opt.hpp"
12 #include "gmlc/libguarded/ordered_guarded.hpp"
13 #include "gmlc/libguarded/shared_guarded.hpp"
14 #include "gmlc/libguarded/shared_guarded_opt.hpp"
15
16 // #include "gmlc/libguarded/staged_guarded.hpp"
17
18 template<class T>
19 using guarded = gmlc::libguarded::guarded<T>;
20
21 template<class T>
22 using guarded_opt = gmlc::libguarded::guarded_opt<T>;
23
24 template<class T>
25 using atomic_guarded = gmlc::libguarded::atomic_guarded<T>;
26
27 template<class T>
28 using shared_guarded_m = gmlc::libguarded::shared_guarded<T, std::mutex>;
29
30 template<class T>
31 using shared_guarded_m_opt = gmlc::libguarded::shared_guarded_opt<T, std::mutex>;
32
33 template<class T>
34 using ordered_guarded_m = gmlc::libguarded::ordered_guarded<T, std::mutex>;
35
36 template<class T>
37 using shared_guarded = gmlc::libguarded::shared_guarded<T, std::shared_mutex>;
38
39 template<class T>
40 using shared_guarded_opt = gmlc::libguarded::shared_guarded_opt<T, std::shared_mutex>;
41
42 template<class T>
43 using ordered_guarded = gmlc::libguarded::ordered_guarded<T, std::shared_mutex>;
gmlc::libguarded::shared_guarded
Definition: application_api/Federate.hpp:27