sparrow
0.3.0
Loading...
Searching...
No Matches
primitive_array.hpp
Go to the documentation of this file.
1
// Copyright 2024 Man Group Operations Limited
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
// http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or mplied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
15
#pragma once
16
17
#include "
sparrow/layout/array_trivial_copyable.hpp
"
18
19
namespace
sparrow
20
{
21
template
<
typename
T>
22
concept
primitive_type
= std::is_arithmetic_v<T> || std::is_same_v<T, float16_t>
23
|| std::is_same_v<T, bool> || std::is_same_v<T, std::byte>;
24
41
template
<primitive_type T>
42
using
primitive_array
=
array_trivial_copyable<T>
;
43
44
template
<
class
T>
45
struct
is_primitive_array
: std::false_type
46
{
47
};
48
49
template
<
class
T>
50
struct
is_primitive_array
<
primitive_array
<T>> : std::true_type
51
{
52
};
53
57
template
<
class
T>
58
constexpr
bool
is_primitive_array_v
=
is_primitive_array<T>::value
;
59
}
array_trivial_copyable.hpp
sparrow::array_trivial_copyable
Definition
array_trivial_copyable.hpp:54
sparrow::primitive_type
Definition
primitive_array.hpp:22
sparrow
Definition
array.hpp:21
sparrow::is_primitive_array_v
constexpr bool is_primitive_array_v
Checkes whether T is a primitive_array type.
Definition
primitive_array.hpp:58
sparrow::primitive_array
array_trivial_copyable< T > primitive_array
Array of values of whose type has fixed binary size.
Definition
primitive_array.hpp:42
sparrow::is_primitive_array
Definition
primitive_array.hpp:46
include
sparrow
layout
primitive_array.hpp
Generated by
1.13.2