24.02.1
Object.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 Arm Limited.
3
*
4
* SPDX-License-Identifier: MIT
5
*
6
* Permission is hereby granted, free of charge, to any person obtaining a copy
7
* of this software and associated documentation files (the "Software"), to
8
* deal in the Software without restriction, including without limitation the
9
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10
* sell copies of the Software, and to permit persons to whom the Software is
11
* furnished to do so, subject to the following conditions:
12
*
13
* The above copyright notice and this permission notice shall be included in all
14
* copies or substantial portions of the Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*/
24
#ifndef SRC_COMMON_OBJECT_H_
25
#define SRC_COMMON_OBJECT_H_
26
27
#include <cstdint>
28
29
namespace
arm_compute
30
{
31
// Forward declarations
32
class
IContext;
33
34
namespace
detail
35
{
36
/**< Object type enumerations */
37
enum class
ObjectType
: uint32_t
38
{
39
Context
= 1,
40
Queue
= 2,
41
Tensor
= 3,
42
TensorPack
= 4,
43
Operator
= 5,
44
Invalid
= 0x56DEAD78
45
};
46
47
/**< API Header meta-data construct used by all opaque constructs */
48
struct
Header
49
{
50
/** Constructor
51
*
52
* @param[in] type_ Object identification type
53
* @param[in] ctx_ Context to reference
54
*/
55
Header
(
ObjectType
type_,
IContext
*ctx_) noexcept :
type
(type_),
ctx
(ctx_)
56
{
57
}
58
59
ObjectType
type
{
ObjectType::Invalid
};
60
IContext
*
ctx
{
nullptr
};
61
};
62
}
// namespace detail
63
}
// namespace arm_compute
64
#endif
/* SRC_COMMON_OBJECT_H_ */
arm_compute::detail::Header::Header
Header(ObjectType type_, IContext *ctx_) noexcept
Constructor.
Definition:
Object.h:55
arm_compute::detail::ObjectType::Context
@ Context
arm_compute::detail::ObjectType
ObjectType
< Object type enumerations
Definition:
Object.h:37
arm_compute::IContext
Context interface.
Definition:
IContext.h:51
arm_compute::detail::ObjectType::Invalid
@ Invalid
arm_compute::detail::ObjectType::Queue
@ Queue
arm_compute::TensorPack
Tensor packing service.
Definition:
TensorPack.h:51
arm_compute::detail::Header::ctx
IContext * ctx
Definition:
Object.h:60
arm_compute::detail::Header
Definition:
Object.h:48
arm_compute::detail::Header::type
ObjectType type
Definition:
Object.h:59
arm_compute::experimental::dynamic_fusion::Operator
An operator for the sole purpose of validating fusion.
Definition:
GpuOperatorGroup.h:45
arm_compute
Copyright (c) 2017-2024 Arm Limited.
Definition:
introduction.dox:24
arm_compute::Tensor
Basic implementation of the tensor interface.
Definition:
Tensor.h:37
src
common
utils
Object.h
Generated on Mon Mar 18 2024 11:31:56 for Compute Library by
1.8.17