CCF
Loading...
Searching...
No Matches
include
ccf
js
kv_access_permissions.h
Go to the documentation of this file.
1
// Copyright (c) Microsoft Corporation. All rights reserved.
2
// Licensed under the Apache 2.0 License.
3
#pragma once
4
5
#include "
ccf/js/core/context.h
"
6
7
namespace
ccf::js
8
{
9
enum class
KVAccessPermissions
10
{
11
ILLEGAL
= 0,
12
READ_ONLY
= 1 << 0,
13
WRITE_ONLY
= 1 << 1,
14
READ_WRITE
=
READ_ONLY
|
WRITE_ONLY
15
};
16
17
inline
KVAccessPermissions
intersect_access_permissions
(
18
KVAccessPermissions
l,
KVAccessPermissions
r)
19
{
20
/* This could use std::to_underlying from C++23 */
21
using
T = std::underlying_type_t<KVAccessPermissions>;
22
const
auto
intersection = (T)l & (T)r;
23
return
KVAccessPermissions
(intersection);
24
}
25
}
context.h
ccf::js
Definition
bundle.h:12
ccf::js::intersect_access_permissions
KVAccessPermissions intersect_access_permissions(KVAccessPermissions l, KVAccessPermissions r)
Definition
kv_access_permissions.h:17
ccf::js::KVAccessPermissions
KVAccessPermissions
Definition
kv_access_permissions.h:10
ccf::js::KVAccessPermissions::ILLEGAL
@ ILLEGAL
ccf::js::KVAccessPermissions::READ_ONLY
@ READ_ONLY
ccf::js::KVAccessPermissions::READ_WRITE
@ READ_WRITE
ccf::js::KVAccessPermissions::WRITE_ONLY
@ WRITE_ONLY
Generated by
1.9.8