| 194 | } |
| 195 | |
| 196 | static Optional<ArrayDataAccessHost> Create(const ArrayData &data, int64_t length = 0, |
| 197 | const pointer start = nullptr) |
| 198 | { |
| 199 | auto castData = data.cast<ArrayDataHost>(); |
| 200 | if (castData) |
| 201 | { |
| 202 | return ArrayDataAccessHost{castData.value(), length, start}; |
| 203 | } |
| 204 | else |
| 205 | { |
| 206 | return NullOpt; |
| 207 | } |
| 208 | } |
| 209 | |
| 210 | private: |
| 211 | ArrayDataAccessHost(const ArrayDataHost &data, int64_t length, const pointer start) |