OmniSciDB
a5dc49c757
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
heavyai_shared_mutex.h
Go to the documentation of this file.
1
/*
2
* Copyright 2022 HEAVY.AI, Inc.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#pragma once
18
19
#include <mutex>
20
#include <shared_mutex>
21
22
#ifdef HAVE_FOLLY
23
#include <folly/SharedMutex.h>
24
namespace
heavyai {
25
using
shared_mutex
= folly::SharedMutex;
26
}
// namespace heavyai
27
// Folly includes windows.h and pollutes global namespace with macroses
28
#include "
cleanup_global_namespace.h
"
29
#else
30
namespace
heavyai {
31
using
shared_mutex
= std::shared_timed_mutex;
32
}
// namespace heavyai
33
#endif // HAVE_FOLLY
34
35
namespace
heavyai {
36
template
<
typename
T>
37
using
lock_guard
= std::lock_guard<T>;
38
template
<
typename
T>
39
using
unique_lock
= std::unique_lock<T>;
40
template
<
typename
T>
41
using
shared_lock
= std::shared_lock<T>;
42
}
// namespace heavyai
heavyai::lock_guard
std::lock_guard< T > lock_guard
Definition:
heavyai_shared_mutex.h:37
cleanup_global_namespace.h
heavyai::shared_lock
std::shared_lock< T > shared_lock
Definition:
heavyai_shared_mutex.h:41
heavyai::unique_lock
std::unique_lock< T > unique_lock
Definition:
heavyai_shared_mutex.h:39
heavyai::shared_mutex
std::shared_timed_mutex shared_mutex
Definition:
heavyai_shared_mutex.h:31
Shared
heavyai_shared_mutex.h
Generated on Tue Aug 27 2024 00:12:44 for OmniSciDB by
1.8.5