NeKernel
dev
Loading...
Searching...
No Matches
Array.h
Go to the documentation of this file.
1
/* -------------------------------------------
2
3
Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
4
5
------------------------------------------- */
6
7
#pragma once
8
9
#include <
KernelKit/DebugOutput.h
>
10
#include <
NeKit/Defines.h
>
11
#include <
NeKit/ErrorOr.h
>
12
13
namespace
Kernel
{
14
template
<
typename
T, SizeT N>
15
class
Array
final {
16
public
:
17
explicit
Array
() =
default
;
18
~Array
() =
default
;
19
20
Array
&
operator=
(
const
Array
&) =
default
;
21
Array
(
const
Array
&) =
default
;
22
23
T&
operator[]
(
SizeT
at) {
return
fArray
[at]; }
24
25
Boolean
Empty
() {
return
this->
Count
() > 0; }
26
27
SizeT
Capacity
() {
return
N; }
28
29
SizeT
Count
() {
30
const
static
SizeT
kArrCnt = N;
31
return
kArrCnt;
// avoid constexpr error.
32
}
33
34
const
T*
CData
() {
return
fArray
; }
35
36
operator
bool() {
return
!
Empty
(); }
37
38
private
:
39
T
fArray
[N];
40
};
41
42
template
<
typename
ValueType>
43
auto
make_list
(ValueType val) {
44
return
Array
<ValueType,
ARRAY_SIZE
(val)>{val};
45
}
46
}
// namespace Kernel
DebugOutput.h
ARRAY_SIZE
#define ARRAY_SIZE(a)
ErrorOr.h
Kernel::Array
Definition
Array.h:15
Kernel::Array::Array
Array(const Array &)=default
Kernel::Array::operator[]
T & operator[](SizeT at)
Definition
Array.h:23
Kernel::Array::CData
const T * CData()
Definition
Array.h:34
Kernel::Array::operator=
Array & operator=(const Array &)=default
Kernel::Array< Property, N >::fArray
Property fArray[N]
Definition
Array.h:39
Kernel::Array::Count
SizeT Count()
Definition
Array.h:29
Kernel::Array::Capacity
SizeT Capacity()
Definition
Array.h:27
Kernel::Array::Array
Array()=default
Kernel::Array::Empty
Boolean Empty()
Definition
Array.h:25
Kernel::Array::~Array
~Array()=default
Defines.h
Kernel
USER_PROCESS inline definitions.
Definition
Qr.h:793
Kernel::make_list
auto make_list(ValueType val)
Definition
Array.h:43
Kernel::SizeT
__SIZE_TYPE__ SizeT
Definition
Defines.h:58
Kernel::Boolean
bool Boolean
Definition
Defines.h:49
dev
kernel
NeKit
Array.h
Generated by
1.14.0