🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ValArray.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "AstScript/Value.hpp"
25
26AST_NAMESPACE_BEGIN
27
28
33template<typename T, size_t NDIM>
34class ValArray: public Value
35{
36public:
37 // AST_EXPR(ValArray)
38
41 size_t column() const { return dims_[0]; }
42
45 size_t row() const { return dims_[1]; }
46
49 size_t page() const { return dims_[2]; }
50
53 size_t size() const;
54
58 T at(size_t index) const { return data_[index]; }
59
63 T& at(size_t index) { return data_[index]; }
64
65protected:
66 size_t dims_[NDIM];
67 T* data_;
68};
69
70
71template <typename T, size_t NDIM>
72inline size_t ValArray<T, NDIM>::size() const
73{
74 size_t size = 1;
75 for (size_t i = 0; i < NDIM; ++i)
76 {
77 size *= dims_[i];
78 }
79 return size;
80}
81
82
83AST_NAMESPACE_END
84
数组值类
定义 ValArray.hpp:35
size_t page() const
获取数组页数
定义 ValArray.hpp:49
size_t size() const
获取数组元素数量
定义 ValArray.hpp:72
T * data_
数组数据指针
定义 ValArray.hpp:67
size_t column() const
获取数组列数
定义 ValArray.hpp:41
size_t row() const
获取数组行数
定义 ValArray.hpp:45
T & at(size_t index)
获取数组元素
定义 ValArray.hpp:63
T at(size_t index) const
获取数组元素
定义 ValArray.hpp:58
值对象基类
定义 Value.hpp:36