 |
Documentation of CSL
|
Go to the documentation of this file. 25 #define IMPLEMENTS_STD_VECTOR_NO_OP_NO_PB(object, variable) \ 28 using iterator = typename std::vector<object>::iterator;\ 29 using const_iterator = typename std::vector<object>::const_iterator;\ 30 using reverse_iterator \ 31 = typename std::vector<object>::reverse_iterator;\ 32 using const_reverse_iterator \ 33 = typename std::vector<object>::const_reverse_iterator;\ 36 size_t size() const { \ 37 return variable.size(); \ 40 bool empty() const { \ 41 return begin() == end(); \ 44 object const &back() const {\ 51 typename std::vector<object>::const_iterator begin() const { \ 52 return variable.begin(); \ 55 typename std::vector<object>::const_iterator end() const { \ 56 return variable.end(); \ 59 typename std::vector<object>::iterator begin() { \ 60 return variable.begin(); \ 63 typename std::vector<object>::iterator end() { \ 64 return variable.end(); \ 67 typename std::vector<object>::const_reverse_iterator rbegin() const { \ 68 return variable.rbegin(); \ 71 typename std::vector<object>::const_reverse_iterator rend() const { \ 72 return variable.rend(); \ 75 typename std::vector<object>::reverse_iterator rbegin() { \ 76 return variable.rbegin(); \ 79 typename std::vector<object>::reverse_iterator rend() { \ 80 return variable.rend(); \ 85 typename std::vector<object>::iterator erase(\ 86 typename std::vector<object>::iterator iter) {\ 87 return variable.erase(iter);\ 89 typename std::vector<object>::const_iterator erase(\ 90 typename std::vector<object>::const_iterator iter) {\ 91 return variable.erase(iter);\ 93 typename std::vector<object>::iterator erase(\ 94 typename std::vector<object>::iterator first,\ 95 typename std::vector<object>::iterator last) {\ 96 return variable.erase(first, last);\ 98 typename std::vector<object>::const_iterator erase(\ 99 typename std::vector<object>::const_iterator first,\ 100 typename std::vector<object>::const_iterator last) {\ 101 return variable.erase(first, last);\ 103 typename std::vector<object>::const_iterator insert(\ 104 typename std::vector<object>::const_iterator pos,\ 105 const object& value) {\ 106 return variable.insert(pos, value);\ 108 typename std::vector<object>::const_iterator insert(\ 109 typename std::vector<object>::const_iterator pos,\ 111 return variable.insert(pos, value);\ 113 void insert(typename std::vector<object>::iterator pos, \ 115 const object& value) {\ 116 variable.insert(pos, count, value);\ 118 typename std::vector<object>::iterator insert(\ 119 typename std::vector<object>::const_iterator pos, \ 121 const object& value) {\ 122 return variable.insert(pos, count, value);\ 124 template<class InputIt>\ 125 void insert(typename std::vector<object>::iterator pos,\ 128 variable.insert(pos, first, last);\ 130 template<class InputIt>\ 131 typename std::vector<object>::iterator insert(\ 132 typename std::vector<object>::const_iterator pos,\ 135 return variable.insert(pos, first, last);\ 137 typename std::vector<object>::iterator insert(\ 138 typename std::vector<object>::const_iterator pos,\ 139 std::initializer_list<object> ilist) {\ 140 return variable.insert(pos, ilist);\ 143 #define IMPLEMENTS_STD_VECTOR_NO_OP(object, variable)\ 144 IMPLEMENTS_STD_VECTOR_NO_OP_NO_PB(object, variable)\ 145 void push_back(const object& newElement) { \ 146 variable.push_back(newElement); \ 149 void push_back(object&& newElement) { \ 150 variable.push_back(newElement); \ 153 #define IMPLEMENTS_STD_VECTOR_NO_PB(object, variable) \ 154 IMPLEMENTS_STD_VECTOR_NO_OP_NO_PB(object, variable)\ 156 object operator[](size_t i) const { \ 157 return variable[i]; \ 160 object& operator[](size_t i) { \ 161 return variable[i]; \ 164 #define IMPLEMENTS_STD_VECTOR(object, variable) \ 165 IMPLEMENTS_STD_VECTOR_NO_OP(object, variable)\ 167 object operator[](size_t i) const { \ 168 return variable[i]; \ 171 object& operator[](size_t i) { \ 172 return variable[i]; \