acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
size_array.h
1#pragma once
2
3
4#include "size.h"
5
6
7template < prototype_number NUMBER >
9public ::array_base < ::size_type < NUMBER > >
10{
11public:
12
13 using BASE_ARRAY = ::array_base < ::size_type < NUMBER > >;
14 //using SIZE_TYPE = _SIZE_TYPE;
15 //using SIZE_BASE_TYPE = SIZE_TYPE;
16 using UNIT_TYPE = NUMBER;
17 //using POINT_TYPE = typename SIZE_TYPE::POINT_TYPE;
18
19 using BASE_ARRAY::BASE_ARRAY;
20 using BASE_ARRAY::operator =;
21
22 //size_array_base() { }
24
25
26 using array_base < ::size_type < NUMBER > >::add;
27 void add(UNIT_TYPE cx, UNIT_TYPE cy) { add(SIZE_TYPE(cx, cy)); }
28 //void add(const POINT_TYPE & point) { add(SIZE_TYPE(point.x, point.y)); }
29
30
31 void offset(const ::size_type < NUMBER > & size) { for (auto & sizeItem : *this) sizeItem.offset(size); }
32 void offset(UNIT_TYPE cx, UNIT_TYPE cy) { offset(::size_type < NUMBER >(cx, cy)); }
33
34
35};
36
37
38//using i32_size_array = size_array_base < ::i32 >;
39//using i64_size_array = size_array_base < ::i64 >;
40//using f32_size_array = size_array_base < ::f32 >;
41//using f64_size_array = size_array_base < ::f64 >;
42
43
44
Definition size_array.h:10