CYD-UI
A C++ library for building native graphic user interfaces
Loading...
Searching...
No Matches
plot_series.cppm
Go to the documentation of this file.
1
//
2
// Created by castle on 8/13/24.
3
//
4
5
export
module
cydui.std.charts.plot:series
;
6
7
import
std;
8
import
fabric.linalg;
9
import
reflect;
10
11
using
la
= with_precision<double>;
12
13
export
namespace
charts
{
14
class
data_series_t
{
15
std::size_t data_len = 0;
16
la::scalar *x_data =
nullptr
;
17
la::scalar *y_data =
nullptr
;
18
19
public
:
20
data_series_t
() =
default
;
21
22
template
<std::
size_t
DATA_LEN>
23
data_series_t
(la::vec<DATA_LEN>& x, la::vec<DATA_LEN>& y)
24
: data_len(DATA_LEN), x_data(x.data.data()), y_data(y.data.data()) { }
25
26
std::size_t
size
()
const
{
27
if
(x_data ==
nullptr
|| y_data ==
nullptr
) {
28
return
0;
29
}
30
return
data_len;
31
}
32
33
la::vec<2>
operator[]
(std::size_t index)
const
{
34
return
{x_data[index], y_data[index]};
35
}
36
37
data_series_t
&
test
() {
38
return
*
this
;
39
}
40
};
41
bool
operator==
(
const
data_series_t
& lhs,
const
data_series_t
& rhs) {
42
return
refl::deep_eq(lhs, rhs);
43
}
44
}
charts::data_series_t
Definition
plot_series.cppm:14
charts::data_series_t::data_series_t
data_series_t(la::vec< DATA_LEN > &x, la::vec< DATA_LEN > &y)
Definition
plot_series.cppm:23
charts::data_series_t::data_series_t
data_series_t()=default
charts::data_series_t::size
std::size_t size() const
Definition
plot_series.cppm:26
charts::data_series_t::operator[]
la::vec< 2 > operator[](std::size_t index) const
Definition
plot_series.cppm:33
charts::data_series_t::test
data_series_t & test()
Definition
plot_series.cppm:37
cydui.std.charts.plot
charts
Definition
plot.cppm:21
charts::operator==
bool operator==(const data_series_t &lhs, const data_series_t &rhs)
Definition
plot_series.cppm:41
la
with_precision< double > la
Definition
plot.cppm:19
include
cyd_ui
stdui
charts
plot
plot_series.cppm
Generated by
1.13.2