ALP User Documentation  0.8.preview
Algebraic Programming User Documentation
properties.hpp
Go to the documentation of this file.
1 
2 /*
3  * Copyright 2021 Huawei Technologies Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
27 #ifndef _H_GRB_PROPERTIES_BASE
28 #define _H_GRB_PROPERTIES_BASE
29 
30 #include <graphblas/backends.hpp>
31 
32 
33 namespace grb {
34 
51  template< enum Backend backend >
52  class Properties {
53 
54 #ifdef __DOXYGEN__
55 
56  public:
57 
72  static constexpr const bool writableCaptured = true;
73 
84  static constexpr const bool isBlockingExecution = true;
85 
99  static constexpr const bool isNonblockingExecution = !isBlockingExecution;
100 #endif
101  };
102 
103 } // namespace grb
104 
105 #endif // end _H_GRB_PROPERTIES_BASE
106 
This file contains a register of all backends that are either implemented, under implementation,...
static constexpr const bool isBlockingExecution
Whether the given backend supports blocking execution or is, instead, non-blocking.
Definition: properties.hpp:84
Collection of various properties on the given ALP/GraphBLAS backend.
Definition: properties.hpp:52
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:477
static constexpr const bool writableCaptured
Whether a scalar, non-ALP/GraphBLAS object, may be captured by and written to by a lambda function th...
Definition: properties.hpp:72
static constexpr const bool isNonblockingExecution
Whether the given backend is non-blocking or is, instead, blocking.
Definition: properties.hpp:99