Sound Open Firmware
Loading...
Searching...
No Matches
processing_module_prerequisites.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2022 Intel Corporation. All rights reserved.
4 */
6
7#ifndef _PROCESSING_MODULE_PREREQUISITES_H_
8#define _PROCESSING_MODULE_PREREQUISITES_H_
9
10#include <stdint.h>
11#include <stddef.h>
12
13namespace intel_adsp
14{
21 enum WordSize {
26 };
27
29 typedef uint8_t Type;
30
35 : value(_4_BYTES)
36 {}
37
42 : value(val)
43 {}
44
49 : value(val)
50 {}
51
54 : value(ref.value)
55 {}
56
58 operator WordSize(void)
59 {
60 return (WordSize) value;
61 }
62
64 operator Type(void)
65 {
66 return value;
67 }
68
71 {
72 value = src.value;
73 return *this;
74 }
75
78 {
79 value = src;
80 return *this;
81 }
82
84 bool operator>(const StreamBufferAlignment &r) const
85 { return value > r.value; }
86
88 bool operator<(const StreamBufferAlignment &r) const
89 { return value < r.value; }
90
93 { return value == r.value; }
94
97 { return value != r.value; }
98
99 private:
101 Type value;
102 };
103
137}
138
139#endif /* _PROCESSING_MODULE_PREREQUISITES_H_ */
Definition fixed_array.h:13
ProcessingModulePrerequisites()
Initializes a new instance of ProcessingModulePrerequisites with default values.
Definition processing_module_prerequisites.h:112
size_t input_pins_count
Indicates the count of input pins for the module type about to be created.
Definition processing_module_prerequisites.h:127
size_t output_pins_count
Indicates the count of output pins for the module type about to be created.
Definition processing_module_prerequisites.h:131
size_t event_count
Indicates the count of events for the module type about to be created.
Definition processing_module_prerequisites.h:135
StreamBufferAlignment stream_buffer_alignment
holds the buffer alignment constraint in size of bytes for input or output chunk buffer
Definition processing_module_prerequisites.h:122
"Scoped enumeration" of values which specify data buffer alignment of input or output stream buffer.
Definition processing_module_prerequisites.h:19
StreamBufferAlignment(WordSize val)
Initializes a new instance of StreamBufferAlignment given a StreamBufferAlignment::WordSize value.
Definition processing_module_prerequisites.h:41
bool operator>(const StreamBufferAlignment &r) const
implement comparison operator
Definition processing_module_prerequisites.h:84
StreamBufferAlignment(const StreamBufferAlignment &ref)
Copy constructor.
Definition processing_module_prerequisites.h:53
StreamBufferAlignment(void)
Initializes a new instance of StreamBufferAlignment with value set to _4_BYTES.
Definition processing_module_prerequisites.h:34
StreamBufferAlignment(Type val)
Initializes a new instance of StreamBufferAlignment given a StreamBufferAlignment::Type value.
Definition processing_module_prerequisites.h:48
StreamBufferAlignment & operator=(const StreamBufferAlignment &src)
default assignment operator
Definition processing_module_prerequisites.h:70
bool operator!=(const StreamBufferAlignment &r) const
implement comparison operator
Definition processing_module_prerequisites.h:96
bool operator<(const StreamBufferAlignment &r) const
implement comparison operator
Definition processing_module_prerequisites.h:88
bool operator==(const StreamBufferAlignment &r) const
implement comparison operator
Definition processing_module_prerequisites.h:92
uint8_t Type
Type of the inner integral value.
Definition processing_module_prerequisites.h:29
WordSize
the enumeration type of StreamBufferAlignment "scoped enumeration"
Definition processing_module_prerequisites.h:21
@ _4_BYTES
enumeration tag for 4-bytes aligned buffer
Definition processing_module_prerequisites.h:23
@ _8_BYTES
enumeration tag for 8-bytes aligned buffer
Definition processing_module_prerequisites.h:25
char value[]
Definition tlv.h:2