xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
position_list.hpp
浏览该文件的文档.
1#pragma once
2#include <xcal/public.h>
3
4#include <vector>
7
8namespace xcal::property {
9
10template <typename __ItemType, Type __Type>
12 Type type_() const override { return __Type; }
13
14 public:
15 using data_t = std::vector<__ItemType>;
16
17 private:
18 Proxy<data_t> positions_{this, {}};
19 Proxy<bool_t> closed_{this, false};
20
21 public:
23 explicit _PositionList(const data_t &list) : _PositionList(list, false) {}
24 _PositionList(const data_t &list, bool_t closed)
25 : positions_(this, list), closed_(this, closed) {}
26
27 const Proxy<bool_t> &closed() const { return closed_; }
28 Proxy<bool_t> &closed() { return closed_; }
29 const std::vector<__ItemType> &positions() const { return positions_; }
30 std::vector<__ItemType> &positions() { return positions_; }
32 positions_ = list;
33 return *this;
34 }
35 size_t count() const { return ((const data_t &)(positions_)).size(); }
36 __ItemType &operator[](size_t index) { return positions_[index]; }
37 const __ItemType &operator[](size_t index) const {
38 return positions_[index];
39 }
40};
41
45
46} // namespace xcal::property
const __ItemType & operator[](size_t index) const
std::vector< __ItemType > data_t
const std::vector< __ItemType > & positions() const
__ItemType & operator[](size_t index)
_PositionList & operator=(const data_t &list)
_PositionList(const data_t &list, bool_t closed)
const Proxy< bool_t > & closed() const
_PositionList(const data_t &list)
std::vector< __ItemType > & positions()
bool bool_t
Definition public.h:28
#define XCAL_API
Definition public.h:69