Advertisement
Guest User

g++ error

a guest
Oct 20th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 198.33 KB | None | 0 0
  1. In file included from ./frameworks/native/include/binder/Parcel.h:25,
  2. from ./frameworks/native/cmds/service/service.cpp:17:
  3. ./system/libbase/include/android-base/unique_fd.h:105:57: error: ‘clang::reinitializes’ scoped attribute directive ignored [-Werror=attributes]
  4. 105 | [[clang::reinitializes]] void reset(int new_value = -1) { reset(new_value, nullptr); }
  5. | ^
  6. ./system/libbase/include/android-base/unique_fd.h:283:65: error: ‘unavailable’ attribute directive ignored [-Werror=attributes]
  7. 283 | __attribute__((__unavailable__("close called on unique_fd")));
  8. | ^
  9. ./system/libbase/include/android-base/unique_fd.h:288:97: error: ‘unavailable’ attribute directive ignored [-Werror=attributes]
  10. 288 | "unique_fd, or use android::base::Fdopen to pass ownership")));
  11. | ^
  12. ./system/libbase/include/android-base/unique_fd.h:293:85: error: ‘unavailable’ attribute directive ignored [-Werror=attributes]
  13. 293 | "unique_fd, or use android::base::Fdopendir to pass ownership")));
  14. | ^
  15. In file included from ./frameworks/native/include/binder/Parcel.h:29,
  16. from ./frameworks/native/cmds/service/service.cpp:17:
  17. ./system/core/libutils/include/utils/String16.h:228:71: error: expected constructor, destructor, or type conversion before ‘;’ token
  18. 228 | StaticString16(const F&)->StaticString16<sizeof(F) / sizeof(char16_t)>;
  19. | ^
  20. In file included from ./frameworks/native/include/binder/Parcel.h:30,
  21. from ./frameworks/native/cmds/service/service.cpp:17:
  22. ./system/core/libutils/include/utils/Vector.h: In member function ‘const android::Vector<TYPE>& android::Vector<TYPE>::operator=(const android::Vector<TYPE>&) const’:
  23. ./system/core/libutils/include/utils/Vector.h:259:64: error: cannot convert ‘const android::Vector<TYPE>*’ to ‘android::VectorImpl*’
  24. 259 | VectorImpl::operator = (static_cast<const VectorImpl&>(rhs));
  25. | ^
  26. In file included from ./system/core/libutils/include/utils/Vector.h:25,
  27. from ./frameworks/native/include/binder/Parcel.h:30,
  28. from ./frameworks/native/cmds/service/service.cpp:17:
  29. ./system/core/libutils/include/utils/VectorImpl.h:56:59: note: initializing argument 'this' of ‘android::VectorImpl& android::VectorImpl::operator=(const android::VectorImpl&)’
  30. 56 | VectorImpl& operator = (const VectorImpl& rhs);
  31. | ~~~~~~~~~~~~~~~~~~^~~
  32. In file included from ./frameworks/native/include/binder/Parcel.h:30,
  33. from ./frameworks/native/cmds/service/service.cpp:17:
  34. ./system/core/libutils/include/utils/Vector.h: At global scope:
  35. ./system/core/libutils/include/utils/Vector.h:397:80: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  36. 397 | UTILS_VECTOR_NO_CFI void Vector<TYPE>::do_construct(void* storage, size_t num) const {
  37. | ^~~~~
  38. ./system/core/libutils/include/utils/Vector.h:407:90: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  39. 407 | UTILS_VECTOR_NO_CFI void Vector<TYPE>::do_copy(void* dest, const void* from, size_t num) const {
  40. | ^~~~~
  41. ./system/core/libutils/include/utils/Vector.h:412:91: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  42. 412 | UTILS_VECTOR_NO_CFI void Vector<TYPE>::do_splat(void* dest, const void* item, size_t num) const {
  43. | ^~~~~
  44. ./system/core/libutils/include/utils/Vector.h:417:98: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  45. 417 | UTILS_VECTOR_NO_CFI void Vector<TYPE>::do_move_forward(void* dest, const void* from, size_t num) const {
  46. | ^~~~~
  47. ./system/core/libutils/include/utils/Vector.h:422:99: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  48. 422 | UTILS_VECTOR_NO_CFI void Vector<TYPE>::do_move_backward(void* dest, const void* from, size_t num) const {
  49. | ^~~~~
  50. In file included from ./frameworks/native/include/binder/Binder.h:22,
  51. from ./frameworks/native/include/binder/IInterface.h:21,
  52. from ./frameworks/native/include/binder/Parcel.h:33,
  53. from ./frameworks/native/cmds/service/service.cpp:17:
  54. ./frameworks/native/include/binder/IBinder.h:49:40: error: ‘clang::lto_visibility_public’ scoped attribute directive ignored [-Werror=attributes]
  55. 49 | class [[clang::lto_visibility_public]] IBinder : public virtual RefBase
  56. | ^~~~~~~
  57. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  58. ./frameworks/native/include/binder/Parcel.h:125:50: error: ‘optional’ in namespace ‘std’ does not name a template type
  59. 125 | status_t writeString16(const std::optional<String16>& str);
  60. | ^~~~~~~~
  61. ./frameworks/native/include/binder/Parcel.h:125:45: note: ‘std::optional’ is only available from C++17 onwards
  62. 125 | status_t writeString16(const std::optional<String16>& str);
  63. | ^~~
  64. ./frameworks/native/include/binder/Parcel.h:125:58: error: expected ‘,’ or ‘...’ before ‘<’ token
  65. 125 | status_t writeString16(const std::optional<String16>& str);
  66. | ^
  67. ./frameworks/native/include/binder/Parcel.h:126:50: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  68. 126 | status_t writeString16(const std::unique_ptr<String16>& str);
  69. | ^~~~~~~~~~
  70. ./frameworks/native/include/binder/Parcel.h:35:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  71. 34 | #include <binder/Parcelable.h>
  72. +++ |+#include <memory>
  73. 35 |
  74. ./frameworks/native/include/binder/Parcel.h:126:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  75. 126 | status_t writeString16(const std::unique_ptr<String16>& str);
  76. | ^
  77. ./frameworks/native/include/binder/Parcel.h:126:25: error: ‘android::status_t android::Parcel::writeString16(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeString16(int)’
  78. 126 | status_t writeString16(const std::unique_ptr<String16>& str);
  79. | ^~~~~~~~~~~~~
  80. ./frameworks/native/include/binder/Parcel.h:125:25: note: previous declaration ‘android::status_t android::Parcel::writeString16(int)’
  81. 125 | status_t writeString16(const std::optional<String16>& str);
  82. | ^~~~~~~~~~~~~
  83. ./frameworks/native/include/binder/Parcel.h:137:53: error: ‘optional’ in namespace ‘std’ does not name a template type
  84. 137 | status_t writeUtf8AsUtf16(const std::optional<std::string>& str);
  85. | ^~~~~~~~
  86. ./frameworks/native/include/binder/Parcel.h:137:48: note: ‘std::optional’ is only available from C++17 onwards
  87. 137 | status_t writeUtf8AsUtf16(const std::optional<std::string>& str);
  88. | ^~~
  89. ./frameworks/native/include/binder/Parcel.h:137:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  90. 137 | status_t writeUtf8AsUtf16(const std::optional<std::string>& str);
  91. | ^
  92. ./frameworks/native/include/binder/Parcel.h:138:53: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  93. 138 | status_t writeUtf8AsUtf16(const std::unique_ptr<std::string>& str);
  94. | ^~~~~~~~~~
  95. ./frameworks/native/include/binder/Parcel.h:138:48: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  96. 138 | status_t writeUtf8AsUtf16(const std::unique_ptr<std::string>& str);
  97. | ^~~
  98. ./frameworks/native/include/binder/Parcel.h:138:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  99. 138 | status_t writeUtf8AsUtf16(const std::unique_ptr<std::string>& str);
  100. | ^
  101. ./frameworks/native/include/binder/Parcel.h:138:25: error: ‘android::status_t android::Parcel::writeUtf8AsUtf16(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeUtf8AsUtf16(int)’
  102. 138 | status_t writeUtf8AsUtf16(const std::unique_ptr<std::string>& str);
  103. | ^~~~~~~~~~~~~~~~
  104. ./frameworks/native/include/binder/Parcel.h:137:25: note: previous declaration ‘android::status_t android::Parcel::writeUtf8AsUtf16(int)’
  105. 137 | status_t writeUtf8AsUtf16(const std::optional<std::string>& str);
  106. | ^~~~~~~~~~~~~~~~
  107. ./frameworks/native/include/binder/Parcel.h:140:52: error: ‘optional’ in namespace ‘std’ does not name a template type
  108. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  109. | ^~~~~~~~
  110. ./frameworks/native/include/binder/Parcel.h:140:47: note: ‘std::optional’ is only available from C++17 onwards
  111. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  112. | ^~~
  113. ./frameworks/native/include/binder/Parcel.h:140:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  114. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  115. | ^
  116. ./frameworks/native/include/binder/Parcel.h:141:52: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  117. 141 | status_t writeByteVector(const std::unique_ptr<std::vector<int8_t>>& val);
  118. | ^~~~~~~~~~
  119. ./frameworks/native/include/binder/Parcel.h:141:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  120. 141 | status_t writeByteVector(const std::unique_ptr<std::vector<int8_t>>& val);
  121. | ^~~
  122. ./frameworks/native/include/binder/Parcel.h:141:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  123. 141 | status_t writeByteVector(const std::unique_ptr<std::vector<int8_t>>& val);
  124. | ^
  125. ./frameworks/native/include/binder/Parcel.h:141:25: error: ‘android::status_t android::Parcel::writeByteVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeByteVector(int)’
  126. 141 | status_t writeByteVector(const std::unique_ptr<std::vector<int8_t>>& val);
  127. | ^~~~~~~~~~~~~~~
  128. ./frameworks/native/include/binder/Parcel.h:140:25: note: previous declaration ‘android::status_t android::Parcel::writeByteVector(int)’
  129. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  130. | ^~~~~~~~~~~~~~~
  131. ./frameworks/native/include/binder/Parcel.h:143:52: error: ‘optional’ in namespace ‘std’ does not name a template type
  132. 143 | status_t writeByteVector(const std::optional<std::vector<uint8_t>>& val);
  133. | ^~~~~~~~
  134. ./frameworks/native/include/binder/Parcel.h:143:47: note: ‘std::optional’ is only available from C++17 onwards
  135. 143 | status_t writeByteVector(const std::optional<std::vector<uint8_t>>& val);
  136. | ^~~
  137. ./frameworks/native/include/binder/Parcel.h:143:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  138. 143 | status_t writeByteVector(const std::optional<std::vector<uint8_t>>& val);
  139. | ^
  140. ./frameworks/native/include/binder/Parcel.h:143:25: error: ‘android::status_t android::Parcel::writeByteVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeByteVector(int)’
  141. 143 | status_t writeByteVector(const std::optional<std::vector<uint8_t>>& val);
  142. | ^~~~~~~~~~~~~~~
  143. ./frameworks/native/include/binder/Parcel.h:140:25: note: previous declaration ‘android::status_t android::Parcel::writeByteVector(int)’
  144. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  145. | ^~~~~~~~~~~~~~~
  146. ./frameworks/native/include/binder/Parcel.h:144:52: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  147. 144 | status_t writeByteVector(const std::unique_ptr<std::vector<uint8_t>>& val);
  148. | ^~~~~~~~~~
  149. ./frameworks/native/include/binder/Parcel.h:144:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  150. 144 | status_t writeByteVector(const std::unique_ptr<std::vector<uint8_t>>& val);
  151. | ^~~
  152. ./frameworks/native/include/binder/Parcel.h:144:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  153. 144 | status_t writeByteVector(const std::unique_ptr<std::vector<uint8_t>>& val);
  154. | ^
  155. ./frameworks/native/include/binder/Parcel.h:144:25: error: ‘android::status_t android::Parcel::writeByteVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeByteVector(int)’
  156. 144 | status_t writeByteVector(const std::unique_ptr<std::vector<uint8_t>>& val);
  157. | ^~~~~~~~~~~~~~~
  158. ./frameworks/native/include/binder/Parcel.h:140:25: note: previous declaration ‘android::status_t android::Parcel::writeByteVector(int)’
  159. 140 | status_t writeByteVector(const std::optional<std::vector<int8_t>>& val);
  160. | ^~~~~~~~~~~~~~~
  161. ./frameworks/native/include/binder/Parcel.h:146:53: error: ‘optional’ in namespace ‘std’ does not name a template type
  162. 146 | status_t writeInt32Vector(const std::optional<std::vector<int32_t>>& val);
  163. | ^~~~~~~~
  164. ./frameworks/native/include/binder/Parcel.h:146:48: note: ‘std::optional’ is only available from C++17 onwards
  165. 146 | status_t writeInt32Vector(const std::optional<std::vector<int32_t>>& val);
  166. | ^~~
  167. ./frameworks/native/include/binder/Parcel.h:146:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  168. 146 | status_t writeInt32Vector(const std::optional<std::vector<int32_t>>& val);
  169. | ^
  170. ./frameworks/native/include/binder/Parcel.h:147:53: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  171. 147 | status_t writeInt32Vector(const std::unique_ptr<std::vector<int32_t>>& val);
  172. | ^~~~~~~~~~
  173. ./frameworks/native/include/binder/Parcel.h:147:48: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  174. 147 | status_t writeInt32Vector(const std::unique_ptr<std::vector<int32_t>>& val);
  175. | ^~~
  176. ./frameworks/native/include/binder/Parcel.h:147:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  177. 147 | status_t writeInt32Vector(const std::unique_ptr<std::vector<int32_t>>& val);
  178. | ^
  179. ./frameworks/native/include/binder/Parcel.h:147:25: error: ‘android::status_t android::Parcel::writeInt32Vector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeInt32Vector(int)’
  180. 147 | status_t writeInt32Vector(const std::unique_ptr<std::vector<int32_t>>& val);
  181. | ^~~~~~~~~~~~~~~~
  182. ./frameworks/native/include/binder/Parcel.h:146:25: note: previous declaration ‘android::status_t android::Parcel::writeInt32Vector(int)’
  183. 146 | status_t writeInt32Vector(const std::optional<std::vector<int32_t>>& val);
  184. | ^~~~~~~~~~~~~~~~
  185. ./frameworks/native/include/binder/Parcel.h:149:53: error: ‘optional’ in namespace ‘std’ does not name a template type
  186. 149 | status_t writeInt64Vector(const std::optional<std::vector<int64_t>>& val);
  187. | ^~~~~~~~
  188. ./frameworks/native/include/binder/Parcel.h:149:48: note: ‘std::optional’ is only available from C++17 onwards
  189. 149 | status_t writeInt64Vector(const std::optional<std::vector<int64_t>>& val);
  190. | ^~~
  191. ./frameworks/native/include/binder/Parcel.h:149:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  192. 149 | status_t writeInt64Vector(const std::optional<std::vector<int64_t>>& val);
  193. | ^
  194. ./frameworks/native/include/binder/Parcel.h:150:53: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  195. 150 | status_t writeInt64Vector(const std::unique_ptr<std::vector<int64_t>>& val);
  196. | ^~~~~~~~~~
  197. ./frameworks/native/include/binder/Parcel.h:150:48: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  198. 150 | status_t writeInt64Vector(const std::unique_ptr<std::vector<int64_t>>& val);
  199. | ^~~
  200. ./frameworks/native/include/binder/Parcel.h:150:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  201. 150 | status_t writeInt64Vector(const std::unique_ptr<std::vector<int64_t>>& val);
  202. | ^
  203. ./frameworks/native/include/binder/Parcel.h:150:25: error: ‘android::status_t android::Parcel::writeInt64Vector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeInt64Vector(int)’
  204. 150 | status_t writeInt64Vector(const std::unique_ptr<std::vector<int64_t>>& val);
  205. | ^~~~~~~~~~~~~~~~
  206. ./frameworks/native/include/binder/Parcel.h:149:25: note: previous declaration ‘android::status_t android::Parcel::writeInt64Vector(int)’
  207. 149 | status_t writeInt64Vector(const std::optional<std::vector<int64_t>>& val);
  208. | ^~~~~~~~~~~~~~~~
  209. ./frameworks/native/include/binder/Parcel.h:152:54: error: ‘optional’ in namespace ‘std’ does not name a template type
  210. 152 | status_t writeUint64Vector(const std::optional<std::vector<uint64_t>>& val);
  211. | ^~~~~~~~
  212. ./frameworks/native/include/binder/Parcel.h:152:49: note: ‘std::optional’ is only available from C++17 onwards
  213. 152 | status_t writeUint64Vector(const std::optional<std::vector<uint64_t>>& val);
  214. | ^~~
  215. ./frameworks/native/include/binder/Parcel.h:152:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  216. 152 | status_t writeUint64Vector(const std::optional<std::vector<uint64_t>>& val);
  217. | ^
  218. ./frameworks/native/include/binder/Parcel.h:153:54: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  219. 153 | status_t writeUint64Vector(const std::unique_ptr<std::vector<uint64_t>>& val);
  220. | ^~~~~~~~~~
  221. ./frameworks/native/include/binder/Parcel.h:153:49: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  222. 153 | status_t writeUint64Vector(const std::unique_ptr<std::vector<uint64_t>>& val);
  223. | ^~~
  224. ./frameworks/native/include/binder/Parcel.h:153:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  225. 153 | status_t writeUint64Vector(const std::unique_ptr<std::vector<uint64_t>>& val);
  226. | ^
  227. ./frameworks/native/include/binder/Parcel.h:153:25: error: ‘android::status_t android::Parcel::writeUint64Vector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeUint64Vector(int)’
  228. 153 | status_t writeUint64Vector(const std::unique_ptr<std::vector<uint64_t>>& val);
  229. | ^~~~~~~~~~~~~~~~~
  230. ./frameworks/native/include/binder/Parcel.h:152:25: note: previous declaration ‘android::status_t android::Parcel::writeUint64Vector(int)’
  231. 152 | status_t writeUint64Vector(const std::optional<std::vector<uint64_t>>& val);
  232. | ^~~~~~~~~~~~~~~~~
  233. ./frameworks/native/include/binder/Parcel.h:155:53: error: ‘optional’ in namespace ‘std’ does not name a template type
  234. 155 | status_t writeFloatVector(const std::optional<std::vector<float>>& val);
  235. | ^~~~~~~~
  236. ./frameworks/native/include/binder/Parcel.h:155:48: note: ‘std::optional’ is only available from C++17 onwards
  237. 155 | status_t writeFloatVector(const std::optional<std::vector<float>>& val);
  238. | ^~~
  239. ./frameworks/native/include/binder/Parcel.h:155:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  240. 155 | status_t writeFloatVector(const std::optional<std::vector<float>>& val);
  241. | ^
  242. ./frameworks/native/include/binder/Parcel.h:156:53: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  243. 156 | status_t writeFloatVector(const std::unique_ptr<std::vector<float>>& val);
  244. | ^~~~~~~~~~
  245. ./frameworks/native/include/binder/Parcel.h:156:48: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  246. 156 | status_t writeFloatVector(const std::unique_ptr<std::vector<float>>& val);
  247. | ^~~
  248. ./frameworks/native/include/binder/Parcel.h:156:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  249. 156 | status_t writeFloatVector(const std::unique_ptr<std::vector<float>>& val);
  250. | ^
  251. ./frameworks/native/include/binder/Parcel.h:156:25: error: ‘android::status_t android::Parcel::writeFloatVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeFloatVector(int)’
  252. 156 | status_t writeFloatVector(const std::unique_ptr<std::vector<float>>& val);
  253. | ^~~~~~~~~~~~~~~~
  254. ./frameworks/native/include/binder/Parcel.h:155:25: note: previous declaration ‘android::status_t android::Parcel::writeFloatVector(int)’
  255. 155 | status_t writeFloatVector(const std::optional<std::vector<float>>& val);
  256. | ^~~~~~~~~~~~~~~~
  257. ./frameworks/native/include/binder/Parcel.h:158:54: error: ‘optional’ in namespace ‘std’ does not name a template type
  258. 158 | status_t writeDoubleVector(const std::optional<std::vector<double>>& val);
  259. | ^~~~~~~~
  260. ./frameworks/native/include/binder/Parcel.h:158:49: note: ‘std::optional’ is only available from C++17 onwards
  261. 158 | status_t writeDoubleVector(const std::optional<std::vector<double>>& val);
  262. | ^~~
  263. ./frameworks/native/include/binder/Parcel.h:158:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  264. 158 | status_t writeDoubleVector(const std::optional<std::vector<double>>& val);
  265. | ^
  266. ./frameworks/native/include/binder/Parcel.h:159:54: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  267. 159 | status_t writeDoubleVector(const std::unique_ptr<std::vector<double>>& val);
  268. | ^~~~~~~~~~
  269. ./frameworks/native/include/binder/Parcel.h:159:49: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  270. 159 | status_t writeDoubleVector(const std::unique_ptr<std::vector<double>>& val);
  271. | ^~~
  272. ./frameworks/native/include/binder/Parcel.h:159:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  273. 159 | status_t writeDoubleVector(const std::unique_ptr<std::vector<double>>& val);
  274. | ^
  275. ./frameworks/native/include/binder/Parcel.h:159:25: error: ‘android::status_t android::Parcel::writeDoubleVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeDoubleVector(int)’
  276. 159 | status_t writeDoubleVector(const std::unique_ptr<std::vector<double>>& val);
  277. | ^~~~~~~~~~~~~~~~~
  278. ./frameworks/native/include/binder/Parcel.h:158:25: note: previous declaration ‘android::status_t android::Parcel::writeDoubleVector(int)’
  279. 158 | status_t writeDoubleVector(const std::optional<std::vector<double>>& val);
  280. | ^~~~~~~~~~~~~~~~~
  281. ./frameworks/native/include/binder/Parcel.h:161:52: error: ‘optional’ in namespace ‘std’ does not name a template type
  282. 161 | status_t writeBoolVector(const std::optional<std::vector<bool>>& val);
  283. | ^~~~~~~~
  284. ./frameworks/native/include/binder/Parcel.h:161:47: note: ‘std::optional’ is only available from C++17 onwards
  285. 161 | status_t writeBoolVector(const std::optional<std::vector<bool>>& val);
  286. | ^~~
  287. ./frameworks/native/include/binder/Parcel.h:161:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  288. 161 | status_t writeBoolVector(const std::optional<std::vector<bool>>& val);
  289. | ^
  290. ./frameworks/native/include/binder/Parcel.h:162:52: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  291. 162 | status_t writeBoolVector(const std::unique_ptr<std::vector<bool>>& val);
  292. | ^~~~~~~~~~
  293. ./frameworks/native/include/binder/Parcel.h:162:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  294. 162 | status_t writeBoolVector(const std::unique_ptr<std::vector<bool>>& val);
  295. | ^~~
  296. ./frameworks/native/include/binder/Parcel.h:162:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  297. 162 | status_t writeBoolVector(const std::unique_ptr<std::vector<bool>>& val);
  298. | ^
  299. ./frameworks/native/include/binder/Parcel.h:162:25: error: ‘android::status_t android::Parcel::writeBoolVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeBoolVector(int)’
  300. 162 | status_t writeBoolVector(const std::unique_ptr<std::vector<bool>>& val);
  301. | ^~~~~~~~~~~~~~~
  302. ./frameworks/native/include/binder/Parcel.h:161:25: note: previous declaration ‘android::status_t android::Parcel::writeBoolVector(int)’
  303. 161 | status_t writeBoolVector(const std::optional<std::vector<bool>>& val);
  304. | ^~~~~~~~~~~~~~~
  305. ./frameworks/native/include/binder/Parcel.h:164:52: error: ‘optional’ in namespace ‘std’ does not name a template type
  306. 164 | status_t writeCharVector(const std::optional<std::vector<char16_t>>& val);
  307. | ^~~~~~~~
  308. ./frameworks/native/include/binder/Parcel.h:164:47: note: ‘std::optional’ is only available from C++17 onwards
  309. 164 | status_t writeCharVector(const std::optional<std::vector<char16_t>>& val);
  310. | ^~~
  311. ./frameworks/native/include/binder/Parcel.h:164:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  312. 164 | status_t writeCharVector(const std::optional<std::vector<char16_t>>& val);
  313. | ^
  314. ./frameworks/native/include/binder/Parcel.h:165:52: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  315. 165 | status_t writeCharVector(const std::unique_ptr<std::vector<char16_t>>& val);
  316. | ^~~~~~~~~~
  317. ./frameworks/native/include/binder/Parcel.h:165:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  318. 165 | status_t writeCharVector(const std::unique_ptr<std::vector<char16_t>>& val);
  319. | ^~~
  320. ./frameworks/native/include/binder/Parcel.h:165:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  321. 165 | status_t writeCharVector(const std::unique_ptr<std::vector<char16_t>>& val);
  322. | ^
  323. ./frameworks/native/include/binder/Parcel.h:165:25: error: ‘android::status_t android::Parcel::writeCharVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeCharVector(int)’
  324. 165 | status_t writeCharVector(const std::unique_ptr<std::vector<char16_t>>& val);
  325. | ^~~~~~~~~~~~~~~
  326. ./frameworks/native/include/binder/Parcel.h:164:25: note: previous declaration ‘android::status_t android::Parcel::writeCharVector(int)’
  327. 164 | status_t writeCharVector(const std::optional<std::vector<char16_t>>& val);
  328. | ^~~~~~~~~~~~~~~
  329. ./frameworks/native/include/binder/Parcel.h:168:40: error: ‘optional’ in namespace ‘std’ does not name a template type
  330. 168 | const std::optional<std::vector<std::optional<String16>>>& val);
  331. | ^~~~~~~~
  332. ./frameworks/native/include/binder/Parcel.h:168:35: note: ‘std::optional’ is only available from C++17 onwards
  333. 168 | const std::optional<std::vector<std::optional<String16>>>& val);
  334. | ^~~
  335. ./frameworks/native/include/binder/Parcel.h:168:48: error: expected ‘,’ or ‘...’ before ‘<’ token
  336. 168 | const std::optional<std::vector<std::optional<String16>>>& val);
  337. | ^
  338. ./frameworks/native/include/binder/Parcel.h:170:40: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  339. 170 | const std::unique_ptr<std::vector<std::unique_ptr<String16>>>& val);
  340. | ^~~~~~~~~~
  341. ./frameworks/native/include/binder/Parcel.h:170:35: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  342. 170 | const std::unique_ptr<std::vector<std::unique_ptr<String16>>>& val);
  343. | ^~~
  344. ./frameworks/native/include/binder/Parcel.h:170:50: error: expected ‘,’ or ‘...’ before ‘<’ token
  345. 170 | const std::unique_ptr<std::vector<std::unique_ptr<String16>>>& val);
  346. | ^
  347. ./frameworks/native/include/binder/Parcel.h:169:25: error: ‘android::status_t android::Parcel::writeString16Vector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeString16Vector(int)’
  348. 169 | status_t writeString16Vector(
  349. | ^~~~~~~~~~~~~~~~~~~
  350. ./frameworks/native/include/binder/Parcel.h:167:25: note: previous declaration ‘android::status_t android::Parcel::writeString16Vector(int)’
  351. 167 | status_t writeString16Vector(
  352. | ^~~~~~~~~~~~~~~~~~~
  353. ./frameworks/native/include/binder/Parcel.h:173:40: error: ‘optional’ in namespace ‘std’ does not name a template type
  354. 173 | const std::optional<std::vector<std::optional<std::string>>>& val);
  355. | ^~~~~~~~
  356. ./frameworks/native/include/binder/Parcel.h:173:35: note: ‘std::optional’ is only available from C++17 onwards
  357. 173 | const std::optional<std::vector<std::optional<std::string>>>& val);
  358. | ^~~
  359. ./frameworks/native/include/binder/Parcel.h:173:48: error: expected ‘,’ or ‘...’ before ‘<’ token
  360. 173 | const std::optional<std::vector<std::optional<std::string>>>& val);
  361. | ^
  362. ./frameworks/native/include/binder/Parcel.h:175:40: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  363. 175 | const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& val);
  364. | ^~~~~~~~~~
  365. ./frameworks/native/include/binder/Parcel.h:175:35: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  366. 175 | const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& val);
  367. | ^~~
  368. ./frameworks/native/include/binder/Parcel.h:175:50: error: expected ‘,’ or ‘...’ before ‘<’ token
  369. 175 | const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& val);
  370. | ^
  371. ./frameworks/native/include/binder/Parcel.h:174:25: error: ‘android::status_t android::Parcel::writeUtf8VectorAsUtf16Vector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeUtf8VectorAsUtf16Vector(int)’
  372. 174 | status_t writeUtf8VectorAsUtf16Vector(
  373. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  374. ./frameworks/native/include/binder/Parcel.h:172:25: note: previous declaration ‘android::status_t android::Parcel::writeUtf8VectorAsUtf16Vector(int)’
  375. 172 | status_t writeUtf8VectorAsUtf16Vector(
  376. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  377. ./frameworks/native/include/binder/Parcel.h:178:60: error: ‘optional’ in namespace ‘std’ does not name a template type
  378. 178 | status_t writeStrongBinderVector(const std::optional<std::vector<sp<IBinder>>>& val);
  379. | ^~~~~~~~
  380. ./frameworks/native/include/binder/Parcel.h:178:55: note: ‘std::optional’ is only available from C++17 onwards
  381. 178 | status_t writeStrongBinderVector(const std::optional<std::vector<sp<IBinder>>>& val);
  382. | ^~~
  383. ./frameworks/native/include/binder/Parcel.h:178:68: error: expected ‘,’ or ‘...’ before ‘<’ token
  384. 178 | status_t writeStrongBinderVector(const std::optional<std::vector<sp<IBinder>>>& val);
  385. | ^
  386. ./frameworks/native/include/binder/Parcel.h:179:60: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  387. 179 | status_t writeStrongBinderVector(const std::unique_ptr<std::vector<sp<IBinder>>>& val);
  388. | ^~~~~~~~~~
  389. ./frameworks/native/include/binder/Parcel.h:179:55: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  390. 179 | status_t writeStrongBinderVector(const std::unique_ptr<std::vector<sp<IBinder>>>& val);
  391. | ^~~
  392. ./frameworks/native/include/binder/Parcel.h:179:70: error: expected ‘,’ or ‘...’ before ‘<’ token
  393. 179 | status_t writeStrongBinderVector(const std::unique_ptr<std::vector<sp<IBinder>>>& val);
  394. | ^
  395. ./frameworks/native/include/binder/Parcel.h:179:25: error: ‘android::status_t android::Parcel::writeStrongBinderVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeStrongBinderVector(int)’
  396. 179 | status_t writeStrongBinderVector(const std::unique_ptr<std::vector<sp<IBinder>>>& val);
  397. | ^~~~~~~~~~~~~~~~~~~~~~~
  398. ./frameworks/native/include/binder/Parcel.h:178:25: note: previous declaration ‘android::status_t android::Parcel::writeStrongBinderVector(int)’
  399. 178 | status_t writeStrongBinderVector(const std::optional<std::vector<sp<IBinder>>>& val);
  400. | ^~~~~~~~~~~~~~~~~~~~~~~
  401. ./frameworks/native/include/binder/Parcel.h:184:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  402. 184 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  403. | ^~~~~~~~~
  404. | is_enum
  405. ./frameworks/native/include/binder/Parcel.h:184:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  406. 184 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  407. | ^~~~~~~~~
  408. | is_enum
  409. ./frameworks/native/include/binder/Parcel.h:184:59: error: template argument 1 is invalid
  410. 184 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  411. | ^
  412. ./frameworks/native/include/binder/Parcel.h:184:64: error: expected ‘>’
  413. 184 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  414. | ^~~
  415. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  416. ./frameworks/native/include/binder/Parcel.h:184:129: error: expected unqualified-id before ‘=’ token
  417. 184 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  418. | ^
  419. ./frameworks/native/include/binder/Parcel.h:186:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  420. 186 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  421. | ^~~~~~~~~
  422. | is_enum
  423. ./frameworks/native/include/binder/Parcel.h:186:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  424. 186 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  425. | ^~~~~~~~~
  426. | is_enum
  427. ./frameworks/native/include/binder/Parcel.h:186:59: error: template argument 1 is invalid
  428. 186 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  429. | ^
  430. ./frameworks/native/include/binder/Parcel.h:186:64: error: expected ‘>’
  431. 186 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  432. | ^~~
  433. ./frameworks/native/include/binder/Parcel.h:186:129: error: expected unqualified-id before ‘=’ token
  434. 186 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  435. | ^
  436. ./frameworks/native/include/binder/Parcel.h:188:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  437. 188 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  438. | ^~~~~~~~~
  439. | is_enum
  440. ./frameworks/native/include/binder/Parcel.h:188:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  441. 188 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  442. | ^~~~~~~~~
  443. | is_enum
  444. ./frameworks/native/include/binder/Parcel.h:188:59: error: template argument 1 is invalid
  445. 188 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  446. | ^
  447. ./frameworks/native/include/binder/Parcel.h:188:64: error: expected ‘>’
  448. 188 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  449. | ^~~
  450. ./frameworks/native/include/binder/Parcel.h:188:129: error: expected unqualified-id before ‘=’ token
  451. 188 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  452. | ^
  453. ./frameworks/native/include/binder/Parcel.h:191:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  454. 191 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  455. | ^~~~~~~~~
  456. | is_enum
  457. ./frameworks/native/include/binder/Parcel.h:191:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  458. 191 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  459. | ^~~~~~~~~
  460. | is_enum
  461. ./frameworks/native/include/binder/Parcel.h:191:59: error: template argument 1 is invalid
  462. 191 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  463. | ^
  464. ./frameworks/native/include/binder/Parcel.h:191:64: error: expected ‘>’ before ‘!’ token
  465. 191 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  466. | ^
  467. ./frameworks/native/include/binder/Parcel.h:191:130: error: expected unqualified-id before ‘=’ token
  468. 191 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  469. | ^
  470. ./frameworks/native/include/binder/Parcel.h:193:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  471. 193 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  472. | ^~~~~~~~~
  473. | is_enum
  474. ./frameworks/native/include/binder/Parcel.h:193:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  475. 193 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  476. | ^~~~~~~~~
  477. | is_enum
  478. ./frameworks/native/include/binder/Parcel.h:193:59: error: template argument 1 is invalid
  479. 193 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  480. | ^
  481. ./frameworks/native/include/binder/Parcel.h:193:64: error: expected ‘>’ before ‘!’ token
  482. 193 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  483. | ^
  484. ./frameworks/native/include/binder/Parcel.h:193:130: error: expected unqualified-id before ‘=’ token
  485. 193 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  486. | ^
  487. ./frameworks/native/include/binder/Parcel.h:195:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  488. 195 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  489. | ^~~~~~~~~
  490. | is_enum
  491. ./frameworks/native/include/binder/Parcel.h:195:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  492. 195 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  493. | ^~~~~~~~~
  494. | is_enum
  495. ./frameworks/native/include/binder/Parcel.h:195:59: error: template argument 1 is invalid
  496. 195 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  497. | ^
  498. ./frameworks/native/include/binder/Parcel.h:195:64: error: expected ‘>’ before ‘!’ token
  499. 195 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  500. | ^
  501. ./frameworks/native/include/binder/Parcel.h:195:130: error: expected unqualified-id before ‘=’ token
  502. 195 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  503. | ^
  504. ./frameworks/native/include/binder/Parcel.h:199:58: error: ‘optional’ in namespace ‘std’ does not name a template type
  505. 199 | status_t writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val);
  506. | ^~~~~~~~
  507. ./frameworks/native/include/binder/Parcel.h:199:53: note: ‘std::optional’ is only available from C++17 onwards
  508. 199 | status_t writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val);
  509. | ^~~
  510. ./frameworks/native/include/binder/Parcel.h:199:66: error: expected ‘,’ or ‘...’ before ‘<’ token
  511. 199 | status_t writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val);
  512. | ^
  513. ./frameworks/native/include/binder/Parcel.h:201:58: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  514. 201 | status_t writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val);
  515. | ^~~~~~~~~~
  516. ./frameworks/native/include/binder/Parcel.h:201:53: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  517. 201 | status_t writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val);
  518. | ^~~
  519. ./frameworks/native/include/binder/Parcel.h:201:68: error: expected ‘,’ or ‘...’ before ‘<’ token
  520. 201 | status_t writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val);
  521. | ^
  522. ./frameworks/native/include/binder/Parcel.h:201:25: error: ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’
  523. 201 | status_t writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val);
  524. | ^~~~~~~~~~~~~~~~~~~~~
  525. ./frameworks/native/include/binder/Parcel.h:199:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’
  526. 199 | status_t writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val);
  527. | ^~~~~~~~~~~~~~~~~~~~~
  528. ./frameworks/native/include/binder/Parcel.h:203:58: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
  529. 203 | status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val);
  530. | ^~~~~~~~~~
  531. ./frameworks/native/include/binder/Parcel.h:203:53: note: ‘std::shared_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  532. 203 | status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val);
  533. | ^~~
  534. ./frameworks/native/include/binder/Parcel.h:203:68: error: expected ‘,’ or ‘...’ before ‘<’ token
  535. 203 | status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val);
  536. | ^
  537. ./frameworks/native/include/binder/Parcel.h:203:25: error: ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’
  538. 203 | status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val);
  539. | ^~~~~~~~~~~~~~~~~~~~~
  540. ./frameworks/native/include/binder/Parcel.h:199:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeParcelableVector(int)’
  541. 199 | status_t writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val);
  542. | ^~~~~~~~~~~~~~~~~~~~~
  543. ./frameworks/native/include/binder/Parcel.h:208:60: error: ‘optional’ in namespace ‘std’ does not name a template type
  544. 208 | status_t writeNullableParcelable(const std::optional<T>& parcelable);
  545. | ^~~~~~~~
  546. ./frameworks/native/include/binder/Parcel.h:208:55: note: ‘std::optional’ is only available from C++17 onwards
  547. 208 | status_t writeNullableParcelable(const std::optional<T>& parcelable);
  548. | ^~~
  549. ./frameworks/native/include/binder/Parcel.h:208:68: error: expected ‘,’ or ‘...’ before ‘<’ token
  550. 208 | status_t writeNullableParcelable(const std::optional<T>& parcelable);
  551. | ^
  552. ./frameworks/native/include/binder/Parcel.h:210:60: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  553. 210 | status_t writeNullableParcelable(const std::unique_ptr<T>& parcelable);
  554. | ^~~~~~~~~~
  555. ./frameworks/native/include/binder/Parcel.h:210:55: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  556. 210 | status_t writeNullableParcelable(const std::unique_ptr<T>& parcelable);
  557. | ^~~
  558. ./frameworks/native/include/binder/Parcel.h:210:70: error: expected ‘,’ or ‘...’ before ‘<’ token
  559. 210 | status_t writeNullableParcelable(const std::unique_ptr<T>& parcelable);
  560. | ^
  561. ./frameworks/native/include/binder/Parcel.h:210:25: error: ‘template<class T> android::status_t android::Parcel::writeNullableParcelable(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeNullableParcelable(int)’
  562. 210 | status_t writeNullableParcelable(const std::unique_ptr<T>& parcelable);
  563. | ^~~~~~~~~~~~~~~~~~~~~~~
  564. ./frameworks/native/include/binder/Parcel.h:208:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeNullableParcelable(int)’
  565. 208 | status_t writeNullableParcelable(const std::optional<T>& parcelable);
  566. | ^~~~~~~~~~~~~~~~~~~~~~~
  567. ./frameworks/native/include/binder/Parcel.h:223:52: error: ‘optional’ in namespace ‘std’ does not name a template type
  568. 223 | status_t writeVectorSize(const std::optional<std::vector<T>>& val);
  569. | ^~~~~~~~
  570. ./frameworks/native/include/binder/Parcel.h:223:47: note: ‘std::optional’ is only available from C++17 onwards
  571. 223 | status_t writeVectorSize(const std::optional<std::vector<T>>& val);
  572. | ^~~
  573. ./frameworks/native/include/binder/Parcel.h:223:60: error: expected ‘,’ or ‘...’ before ‘<’ token
  574. 223 | status_t writeVectorSize(const std::optional<std::vector<T>>& val);
  575. | ^
  576. ./frameworks/native/include/binder/Parcel.h:225:52: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  577. 225 | status_t writeVectorSize(const std::unique_ptr<std::vector<T>>& val);
  578. | ^~~~~~~~~~
  579. ./frameworks/native/include/binder/Parcel.h:225:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  580. 225 | status_t writeVectorSize(const std::unique_ptr<std::vector<T>>& val);
  581. | ^~~
  582. ./frameworks/native/include/binder/Parcel.h:225:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  583. 225 | status_t writeVectorSize(const std::unique_ptr<std::vector<T>>& val);
  584. | ^
  585. ./frameworks/native/include/binder/Parcel.h:225:25: error: ‘template<class T> android::status_t android::Parcel::writeVectorSize(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeVectorSize(int)’
  586. 225 | status_t writeVectorSize(const std::unique_ptr<std::vector<T>>& val);
  587. | ^~~~~~~~~~~~~~~
  588. ./frameworks/native/include/binder/Parcel.h:223:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeVectorSize(int)’
  589. 223 | status_t writeVectorSize(const std::optional<std::vector<T>>& val);
  590. | ^~~~~~~~~~~~~~~
  591. ./frameworks/native/include/binder/Parcel.h:260:40: error: ‘optional’ in namespace ‘std’ does not name a template type
  592. 260 | const std::optional<std::vector<base::unique_fd>>& val);
  593. | ^~~~~~~~
  594. ./frameworks/native/include/binder/Parcel.h:260:35: note: ‘std::optional’ is only available from C++17 onwards
  595. 260 | const std::optional<std::vector<base::unique_fd>>& val);
  596. | ^~~
  597. ./frameworks/native/include/binder/Parcel.h:260:48: error: expected ‘,’ or ‘...’ before ‘<’ token
  598. 260 | const std::optional<std::vector<base::unique_fd>>& val);
  599. | ^
  600. ./frameworks/native/include/binder/Parcel.h:262:40: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  601. 262 | const std::unique_ptr<std::vector<base::unique_fd>>& val);
  602. | ^~~~~~~~~~
  603. ./frameworks/native/include/binder/Parcel.h:262:35: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  604. 262 | const std::unique_ptr<std::vector<base::unique_fd>>& val);
  605. | ^~~
  606. ./frameworks/native/include/binder/Parcel.h:262:50: error: expected ‘,’ or ‘...’ before ‘<’ token
  607. 262 | const std::unique_ptr<std::vector<base::unique_fd>>& val);
  608. | ^
  609. ./frameworks/native/include/binder/Parcel.h:261:25: error: ‘android::status_t android::Parcel::writeUniqueFileDescriptorVector(int)’ cannot be overloaded with ‘android::status_t android::Parcel::writeUniqueFileDescriptorVector(int)’
  610. 261 | status_t writeUniqueFileDescriptorVector(
  611. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  612. ./frameworks/native/include/binder/Parcel.h:259:25: note: previous declaration ‘android::status_t android::Parcel::writeUniqueFileDescriptorVector(int)’
  613. 259 | status_t writeUniqueFileDescriptorVector(
  614. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  615. ./frameworks/native/include/binder/Parcel.h:311:48: error: ‘std::optional’ has not been declared
  616. 311 | status_t readUtf8FromUtf16(std::optional<std::string>* str) const;
  617. | ^~~~~~~~
  618. ./frameworks/native/include/binder/Parcel.h:311:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  619. 311 | status_t readUtf8FromUtf16(std::optional<std::string>* str) const;
  620. | ^
  621. ./frameworks/native/include/binder/Parcel.h:312:48: error: ‘std::unique_ptr’ has not been declared
  622. 312 | status_t readUtf8FromUtf16(std::unique_ptr<std::string>* str) const;
  623. | ^~~~~~~~~~
  624. ./frameworks/native/include/binder/Parcel.h:312:58: error: expected ‘,’ or ‘...’ before ‘<’ token
  625. 312 | status_t readUtf8FromUtf16(std::unique_ptr<std::string>* str) const;
  626. | ^
  627. ./frameworks/native/include/binder/Parcel.h:312:25: error: ‘android::status_t android::Parcel::readUtf8FromUtf16(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readUtf8FromUtf16(int) const’
  628. 312 | status_t readUtf8FromUtf16(std::unique_ptr<std::string>* str) const;
  629. | ^~~~~~~~~~~~~~~~~
  630. ./frameworks/native/include/binder/Parcel.h:311:25: note: previous declaration ‘android::status_t android::Parcel::readUtf8FromUtf16(int) const’
  631. 311 | status_t readUtf8FromUtf16(std::optional<std::string>* str) const;
  632. | ^~~~~~~~~~~~~~~~~
  633. ./frameworks/native/include/binder/Parcel.h:320:43: error: ‘std::optional’ has not been declared
  634. 320 | status_t readString16(std::optional<String16>* pArg) const;
  635. | ^~~~~~~~
  636. ./frameworks/native/include/binder/Parcel.h:320:51: error: expected ‘,’ or ‘...’ before ‘<’ token
  637. 320 | status_t readString16(std::optional<String16>* pArg) const;
  638. | ^
  639. ./frameworks/native/include/binder/Parcel.h:321:43: error: ‘std::unique_ptr’ has not been declared
  640. 321 | status_t readString16(std::unique_ptr<String16>* pArg) const;
  641. | ^~~~~~~~~~
  642. ./frameworks/native/include/binder/Parcel.h:321:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  643. 321 | status_t readString16(std::unique_ptr<String16>* pArg) const;
  644. | ^
  645. ./frameworks/native/include/binder/Parcel.h:321:25: error: ‘android::status_t android::Parcel::readString16(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readString16(int) const’
  646. 321 | status_t readString16(std::unique_ptr<String16>* pArg) const;
  647. | ^~~~~~~~~~~~
  648. ./frameworks/native/include/binder/Parcel.h:320:25: note: previous declaration ‘android::status_t android::Parcel::readString16(int) const’
  649. 320 | status_t readString16(std::optional<String16>* pArg) const;
  650. | ^~~~~~~~~~~~
  651. ./frameworks/native/include/binder/Parcel.h:329:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  652. 329 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  653. | ^~~~~~~~~
  654. | is_enum
  655. ./frameworks/native/include/binder/Parcel.h:329:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  656. 329 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  657. | ^~~~~~~~~
  658. | is_enum
  659. ./frameworks/native/include/binder/Parcel.h:329:59: error: template argument 1 is invalid
  660. 329 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  661. | ^
  662. ./frameworks/native/include/binder/Parcel.h:329:64: error: expected ‘>’
  663. 329 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  664. | ^~~
  665. ./frameworks/native/include/binder/Parcel.h:329:129: error: expected unqualified-id before ‘=’ token
  666. 329 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  667. | ^
  668. ./frameworks/native/include/binder/Parcel.h:331:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  669. 331 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  670. | ^~~~~~~~~
  671. | is_enum
  672. ./frameworks/native/include/binder/Parcel.h:331:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  673. 331 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  674. | ^~~~~~~~~
  675. | is_enum
  676. ./frameworks/native/include/binder/Parcel.h:331:59: error: template argument 1 is invalid
  677. 331 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  678. | ^
  679. ./frameworks/native/include/binder/Parcel.h:331:64: error: expected ‘>’
  680. 331 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  681. | ^~~
  682. ./frameworks/native/include/binder/Parcel.h:331:129: error: expected unqualified-id before ‘=’ token
  683. 331 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  684. | ^
  685. ./frameworks/native/include/binder/Parcel.h:333:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  686. 333 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  687. | ^~~~~~~~~
  688. | is_enum
  689. ./frameworks/native/include/binder/Parcel.h:333:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  690. 333 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  691. | ^~~~~~~~~
  692. | is_enum
  693. ./frameworks/native/include/binder/Parcel.h:333:59: error: template argument 1 is invalid
  694. 333 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  695. | ^
  696. ./frameworks/native/include/binder/Parcel.h:333:64: error: expected ‘>’
  697. 333 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  698. | ^~~
  699. ./frameworks/native/include/binder/Parcel.h:333:129: error: expected unqualified-id before ‘=’ token
  700. 333 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  701. | ^
  702. ./frameworks/native/include/binder/Parcel.h:336:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  703. 336 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  704. | ^~~~~~~~~
  705. | is_enum
  706. ./frameworks/native/include/binder/Parcel.h:336:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  707. 336 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  708. | ^~~~~~~~~
  709. | is_enum
  710. ./frameworks/native/include/binder/Parcel.h:336:59: error: template argument 1 is invalid
  711. 336 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  712. | ^
  713. ./frameworks/native/include/binder/Parcel.h:336:64: error: expected ‘>’ before ‘!’ token
  714. 336 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  715. | ^
  716. ./frameworks/native/include/binder/Parcel.h:336:130: error: expected unqualified-id before ‘=’ token
  717. 336 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  718. | ^
  719. ./frameworks/native/include/binder/Parcel.h:338:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  720. 338 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  721. | ^~~~~~~~~
  722. | is_enum
  723. ./frameworks/native/include/binder/Parcel.h:338:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  724. 338 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  725. | ^~~~~~~~~
  726. | is_enum
  727. ./frameworks/native/include/binder/Parcel.h:338:59: error: template argument 1 is invalid
  728. 338 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  729. | ^
  730. ./frameworks/native/include/binder/Parcel.h:338:64: error: expected ‘>’ before ‘!’ token
  731. 338 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  732. | ^
  733. ./frameworks/native/include/binder/Parcel.h:338:130: error: expected unqualified-id before ‘=’ token
  734. 338 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  735. | ^
  736. ./frameworks/native/include/binder/Parcel.h:340:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  737. 340 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  738. | ^~~~~~~~~
  739. | is_enum
  740. ./frameworks/native/include/binder/Parcel.h:340:48: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  741. 340 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  742. | ^~~~~~~~~
  743. | is_enum
  744. ./frameworks/native/include/binder/Parcel.h:340:59: error: template argument 1 is invalid
  745. 340 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  746. | ^
  747. ./frameworks/native/include/binder/Parcel.h:340:64: error: expected ‘>’ before ‘!’ token
  748. 340 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  749. | ^
  750. ./frameworks/native/include/binder/Parcel.h:340:130: error: expected unqualified-id before ‘=’ token
  751. 340 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool> = 0>
  752. | ^
  753. ./frameworks/native/include/binder/Parcel.h:345:34: error: ‘std::optional’ has not been declared
  754. 345 | std::optional<std::vector<std::optional<T>>>* val) const;
  755. | ^~~~~~~~
  756. ./frameworks/native/include/binder/Parcel.h:345:42: error: expected ‘,’ or ‘...’ before ‘<’ token
  757. 345 | std::optional<std::vector<std::optional<T>>>* val) const;
  758. | ^
  759. ./frameworks/native/include/binder/Parcel.h:348:34: error: ‘std::unique_ptr’ has not been declared
  760. 348 | std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const;
  761. | ^~~~~~~~~~
  762. ./frameworks/native/include/binder/Parcel.h:348:44: error: expected ‘,’ or ‘...’ before ‘<’ token
  763. 348 | std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const;
  764. | ^
  765. ./frameworks/native/include/binder/Parcel.h:347:25: error: ‘template<class T> android::status_t android::Parcel::readParcelableVector(int) const’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::readParcelableVector(int) const’
  766. 347 | status_t readParcelableVector(
  767. | ^~~~~~~~~~~~~~~~~~~~
  768. ./frameworks/native/include/binder/Parcel.h:344:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::readParcelableVector(int) const’
  769. 344 | status_t readParcelableVector(
  770. | ^~~~~~~~~~~~~~~~~~~~
  771. ./frameworks/native/include/binder/Parcel.h:355:45: error: ‘std::optional’ has not been declared
  772. 355 | status_t readParcelable(std::optional<T>* parcelable) const;
  773. | ^~~~~~~~
  774. ./frameworks/native/include/binder/Parcel.h:355:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  775. 355 | status_t readParcelable(std::optional<T>* parcelable) const;
  776. | ^
  777. ./frameworks/native/include/binder/Parcel.h:357:45: error: ‘std::unique_ptr’ has not been declared
  778. 357 | status_t readParcelable(std::unique_ptr<T>* parcelable) const;
  779. | ^~~~~~~~~~
  780. ./frameworks/native/include/binder/Parcel.h:357:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  781. 357 | status_t readParcelable(std::unique_ptr<T>* parcelable) const;
  782. | ^
  783. ./frameworks/native/include/binder/Parcel.h:357:25: error: ‘template<class T> android::status_t android::Parcel::readParcelable(int) const’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::readParcelable(int) const’
  784. 357 | status_t readParcelable(std::unique_ptr<T>* parcelable) const;
  785. | ^~~~~~~~~~~~~~
  786. ./frameworks/native/include/binder/Parcel.h:355:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::readParcelable(int) const’
  787. 355 | status_t readParcelable(std::optional<T>* parcelable) const;
  788. | ^~~~~~~~~~~~~~
  789. ./frameworks/native/include/binder/Parcel.h:365:53: error: ‘std::optional’ has not been declared
  790. 365 | status_t readStrongBinderVector(std::optional<std::vector<sp<IBinder>>>* val) const;
  791. | ^~~~~~~~
  792. ./frameworks/native/include/binder/Parcel.h:365:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  793. 365 | status_t readStrongBinderVector(std::optional<std::vector<sp<IBinder>>>* val) const;
  794. | ^
  795. ./frameworks/native/include/binder/Parcel.h:366:53: error: ‘std::unique_ptr’ has not been declared
  796. 366 | status_t readStrongBinderVector(std::unique_ptr<std::vector<sp<IBinder>>>* val) const;
  797. | ^~~~~~~~~~
  798. ./frameworks/native/include/binder/Parcel.h:366:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  799. 366 | status_t readStrongBinderVector(std::unique_ptr<std::vector<sp<IBinder>>>* val) const;
  800. | ^
  801. ./frameworks/native/include/binder/Parcel.h:366:25: error: ‘android::status_t android::Parcel::readStrongBinderVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readStrongBinderVector(int) const’
  802. 366 | status_t readStrongBinderVector(std::unique_ptr<std::vector<sp<IBinder>>>* val) const;
  803. | ^~~~~~~~~~~~~~~~~~~~~~
  804. ./frameworks/native/include/binder/Parcel.h:365:25: note: previous declaration ‘android::status_t android::Parcel::readStrongBinderVector(int) const’
  805. 365 | status_t readStrongBinderVector(std::optional<std::vector<sp<IBinder>>>* val) const;
  806. | ^~~~~~~~~~~~~~~~~~~~~~
  807. ./frameworks/native/include/binder/Parcel.h:369:45: error: ‘std::optional’ has not been declared
  808. 369 | status_t readByteVector(std::optional<std::vector<int8_t>>* val) const;
  809. | ^~~~~~~~
  810. ./frameworks/native/include/binder/Parcel.h:369:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  811. 369 | status_t readByteVector(std::optional<std::vector<int8_t>>* val) const;
  812. | ^
  813. ./frameworks/native/include/binder/Parcel.h:370:45: error: ‘std::unique_ptr’ has not been declared
  814. 370 | status_t readByteVector(std::unique_ptr<std::vector<int8_t>>* val) const;
  815. | ^~~~~~~~~~
  816. ./frameworks/native/include/binder/Parcel.h:370:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  817. 370 | status_t readByteVector(std::unique_ptr<std::vector<int8_t>>* val) const;
  818. | ^
  819. ./frameworks/native/include/binder/Parcel.h:370:25: error: ‘android::status_t android::Parcel::readByteVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readByteVector(int) const’
  820. 370 | status_t readByteVector(std::unique_ptr<std::vector<int8_t>>* val) const;
  821. | ^~~~~~~~~~~~~~
  822. ./frameworks/native/include/binder/Parcel.h:369:25: note: previous declaration ‘android::status_t android::Parcel::readByteVector(int) const’
  823. 369 | status_t readByteVector(std::optional<std::vector<int8_t>>* val) const;
  824. | ^~~~~~~~~~~~~~
  825. ./frameworks/native/include/binder/Parcel.h:372:45: error: ‘std::optional’ has not been declared
  826. 372 | status_t readByteVector(std::optional<std::vector<uint8_t>>* val) const;
  827. | ^~~~~~~~
  828. ./frameworks/native/include/binder/Parcel.h:372:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  829. 372 | status_t readByteVector(std::optional<std::vector<uint8_t>>* val) const;
  830. | ^
  831. ./frameworks/native/include/binder/Parcel.h:372:25: error: ‘android::status_t android::Parcel::readByteVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readByteVector(int) const’
  832. 372 | status_t readByteVector(std::optional<std::vector<uint8_t>>* val) const;
  833. | ^~~~~~~~~~~~~~
  834. ./frameworks/native/include/binder/Parcel.h:369:25: note: previous declaration ‘android::status_t android::Parcel::readByteVector(int) const’
  835. 369 | status_t readByteVector(std::optional<std::vector<int8_t>>* val) const;
  836. | ^~~~~~~~~~~~~~
  837. ./frameworks/native/include/binder/Parcel.h:373:45: error: ‘std::unique_ptr’ has not been declared
  838. 373 | status_t readByteVector(std::unique_ptr<std::vector<uint8_t>>* val) const;
  839. | ^~~~~~~~~~
  840. ./frameworks/native/include/binder/Parcel.h:373:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  841. 373 | status_t readByteVector(std::unique_ptr<std::vector<uint8_t>>* val) const;
  842. | ^
  843. ./frameworks/native/include/binder/Parcel.h:373:25: error: ‘android::status_t android::Parcel::readByteVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readByteVector(int) const’
  844. 373 | status_t readByteVector(std::unique_ptr<std::vector<uint8_t>>* val) const;
  845. | ^~~~~~~~~~~~~~
  846. ./frameworks/native/include/binder/Parcel.h:369:25: note: previous declaration ‘android::status_t android::Parcel::readByteVector(int) const’
  847. 369 | status_t readByteVector(std::optional<std::vector<int8_t>>* val) const;
  848. | ^~~~~~~~~~~~~~
  849. ./frameworks/native/include/binder/Parcel.h:375:46: error: ‘std::optional’ has not been declared
  850. 375 | status_t readInt32Vector(std::optional<std::vector<int32_t>>* val) const;
  851. | ^~~~~~~~
  852. ./frameworks/native/include/binder/Parcel.h:375:54: error: expected ‘,’ or ‘...’ before ‘<’ token
  853. 375 | status_t readInt32Vector(std::optional<std::vector<int32_t>>* val) const;
  854. | ^
  855. ./frameworks/native/include/binder/Parcel.h:376:46: error: ‘std::unique_ptr’ has not been declared
  856. 376 | status_t readInt32Vector(std::unique_ptr<std::vector<int32_t>>* val) const;
  857. | ^~~~~~~~~~
  858. ./frameworks/native/include/binder/Parcel.h:376:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  859. 376 | status_t readInt32Vector(std::unique_ptr<std::vector<int32_t>>* val) const;
  860. | ^
  861. ./frameworks/native/include/binder/Parcel.h:376:25: error: ‘android::status_t android::Parcel::readInt32Vector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readInt32Vector(int) const’
  862. 376 | status_t readInt32Vector(std::unique_ptr<std::vector<int32_t>>* val) const;
  863. | ^~~~~~~~~~~~~~~
  864. ./frameworks/native/include/binder/Parcel.h:375:25: note: previous declaration ‘android::status_t android::Parcel::readInt32Vector(int) const’
  865. 375 | status_t readInt32Vector(std::optional<std::vector<int32_t>>* val) const;
  866. | ^~~~~~~~~~~~~~~
  867. ./frameworks/native/include/binder/Parcel.h:378:46: error: ‘std::optional’ has not been declared
  868. 378 | status_t readInt64Vector(std::optional<std::vector<int64_t>>* val) const;
  869. | ^~~~~~~~
  870. ./frameworks/native/include/binder/Parcel.h:378:54: error: expected ‘,’ or ‘...’ before ‘<’ token
  871. 378 | status_t readInt64Vector(std::optional<std::vector<int64_t>>* val) const;
  872. | ^
  873. ./frameworks/native/include/binder/Parcel.h:379:46: error: ‘std::unique_ptr’ has not been declared
  874. 379 | status_t readInt64Vector(std::unique_ptr<std::vector<int64_t>>* val) const;
  875. | ^~~~~~~~~~
  876. ./frameworks/native/include/binder/Parcel.h:379:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  877. 379 | status_t readInt64Vector(std::unique_ptr<std::vector<int64_t>>* val) const;
  878. | ^
  879. ./frameworks/native/include/binder/Parcel.h:379:25: error: ‘android::status_t android::Parcel::readInt64Vector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readInt64Vector(int) const’
  880. 379 | status_t readInt64Vector(std::unique_ptr<std::vector<int64_t>>* val) const;
  881. | ^~~~~~~~~~~~~~~
  882. ./frameworks/native/include/binder/Parcel.h:378:25: note: previous declaration ‘android::status_t android::Parcel::readInt64Vector(int) const’
  883. 378 | status_t readInt64Vector(std::optional<std::vector<int64_t>>* val) const;
  884. | ^~~~~~~~~~~~~~~
  885. ./frameworks/native/include/binder/Parcel.h:381:47: error: ‘std::optional’ has not been declared
  886. 381 | status_t readUint64Vector(std::optional<std::vector<uint64_t>>* val) const;
  887. | ^~~~~~~~
  888. ./frameworks/native/include/binder/Parcel.h:381:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  889. 381 | status_t readUint64Vector(std::optional<std::vector<uint64_t>>* val) const;
  890. | ^
  891. ./frameworks/native/include/binder/Parcel.h:382:47: error: ‘std::unique_ptr’ has not been declared
  892. 382 | status_t readUint64Vector(std::unique_ptr<std::vector<uint64_t>>* val) const;
  893. | ^~~~~~~~~~
  894. ./frameworks/native/include/binder/Parcel.h:382:57: error: expected ‘,’ or ‘...’ before ‘<’ token
  895. 382 | status_t readUint64Vector(std::unique_ptr<std::vector<uint64_t>>* val) const;
  896. | ^
  897. ./frameworks/native/include/binder/Parcel.h:382:25: error: ‘android::status_t android::Parcel::readUint64Vector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readUint64Vector(int) const’
  898. 382 | status_t readUint64Vector(std::unique_ptr<std::vector<uint64_t>>* val) const;
  899. | ^~~~~~~~~~~~~~~~
  900. ./frameworks/native/include/binder/Parcel.h:381:25: note: previous declaration ‘android::status_t android::Parcel::readUint64Vector(int) const’
  901. 381 | status_t readUint64Vector(std::optional<std::vector<uint64_t>>* val) const;
  902. | ^~~~~~~~~~~~~~~~
  903. ./frameworks/native/include/binder/Parcel.h:384:46: error: ‘std::optional’ has not been declared
  904. 384 | status_t readFloatVector(std::optional<std::vector<float>>* val) const;
  905. | ^~~~~~~~
  906. ./frameworks/native/include/binder/Parcel.h:384:54: error: expected ‘,’ or ‘...’ before ‘<’ token
  907. 384 | status_t readFloatVector(std::optional<std::vector<float>>* val) const;
  908. | ^
  909. ./frameworks/native/include/binder/Parcel.h:385:46: error: ‘std::unique_ptr’ has not been declared
  910. 385 | status_t readFloatVector(std::unique_ptr<std::vector<float>>* val) const;
  911. | ^~~~~~~~~~
  912. ./frameworks/native/include/binder/Parcel.h:385:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  913. 385 | status_t readFloatVector(std::unique_ptr<std::vector<float>>* val) const;
  914. | ^
  915. ./frameworks/native/include/binder/Parcel.h:385:25: error: ‘android::status_t android::Parcel::readFloatVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readFloatVector(int) const’
  916. 385 | status_t readFloatVector(std::unique_ptr<std::vector<float>>* val) const;
  917. | ^~~~~~~~~~~~~~~
  918. ./frameworks/native/include/binder/Parcel.h:384:25: note: previous declaration ‘android::status_t android::Parcel::readFloatVector(int) const’
  919. 384 | status_t readFloatVector(std::optional<std::vector<float>>* val) const;
  920. | ^~~~~~~~~~~~~~~
  921. ./frameworks/native/include/binder/Parcel.h:387:47: error: ‘std::optional’ has not been declared
  922. 387 | status_t readDoubleVector(std::optional<std::vector<double>>* val) const;
  923. | ^~~~~~~~
  924. ./frameworks/native/include/binder/Parcel.h:387:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  925. 387 | status_t readDoubleVector(std::optional<std::vector<double>>* val) const;
  926. | ^
  927. ./frameworks/native/include/binder/Parcel.h:388:47: error: ‘std::unique_ptr’ has not been declared
  928. 388 | status_t readDoubleVector(std::unique_ptr<std::vector<double>>* val) const;
  929. | ^~~~~~~~~~
  930. ./frameworks/native/include/binder/Parcel.h:388:57: error: expected ‘,’ or ‘...’ before ‘<’ token
  931. 388 | status_t readDoubleVector(std::unique_ptr<std::vector<double>>* val) const;
  932. | ^
  933. ./frameworks/native/include/binder/Parcel.h:388:25: error: ‘android::status_t android::Parcel::readDoubleVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readDoubleVector(int) const’
  934. 388 | status_t readDoubleVector(std::unique_ptr<std::vector<double>>* val) const;
  935. | ^~~~~~~~~~~~~~~~
  936. ./frameworks/native/include/binder/Parcel.h:387:25: note: previous declaration ‘android::status_t android::Parcel::readDoubleVector(int) const’
  937. 387 | status_t readDoubleVector(std::optional<std::vector<double>>* val) const;
  938. | ^~~~~~~~~~~~~~~~
  939. ./frameworks/native/include/binder/Parcel.h:390:45: error: ‘std::optional’ has not been declared
  940. 390 | status_t readBoolVector(std::optional<std::vector<bool>>* val) const;
  941. | ^~~~~~~~
  942. ./frameworks/native/include/binder/Parcel.h:390:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  943. 390 | status_t readBoolVector(std::optional<std::vector<bool>>* val) const;
  944. | ^
  945. ./frameworks/native/include/binder/Parcel.h:391:45: error: ‘std::unique_ptr’ has not been declared
  946. 391 | status_t readBoolVector(std::unique_ptr<std::vector<bool>>* val) const;
  947. | ^~~~~~~~~~
  948. ./frameworks/native/include/binder/Parcel.h:391:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  949. 391 | status_t readBoolVector(std::unique_ptr<std::vector<bool>>* val) const;
  950. | ^
  951. ./frameworks/native/include/binder/Parcel.h:391:25: error: ‘android::status_t android::Parcel::readBoolVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readBoolVector(int) const’
  952. 391 | status_t readBoolVector(std::unique_ptr<std::vector<bool>>* val) const;
  953. | ^~~~~~~~~~~~~~
  954. ./frameworks/native/include/binder/Parcel.h:390:25: note: previous declaration ‘android::status_t android::Parcel::readBoolVector(int) const’
  955. 390 | status_t readBoolVector(std::optional<std::vector<bool>>* val) const;
  956. | ^~~~~~~~~~~~~~
  957. ./frameworks/native/include/binder/Parcel.h:393:45: error: ‘std::optional’ has not been declared
  958. 393 | status_t readCharVector(std::optional<std::vector<char16_t>>* val) const;
  959. | ^~~~~~~~
  960. ./frameworks/native/include/binder/Parcel.h:393:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  961. 393 | status_t readCharVector(std::optional<std::vector<char16_t>>* val) const;
  962. | ^
  963. ./frameworks/native/include/binder/Parcel.h:394:45: error: ‘std::unique_ptr’ has not been declared
  964. 394 | status_t readCharVector(std::unique_ptr<std::vector<char16_t>>* val) const;
  965. | ^~~~~~~~~~
  966. ./frameworks/native/include/binder/Parcel.h:394:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  967. 394 | status_t readCharVector(std::unique_ptr<std::vector<char16_t>>* val) const;
  968. | ^
  969. ./frameworks/native/include/binder/Parcel.h:394:25: error: ‘android::status_t android::Parcel::readCharVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readCharVector(int) const’
  970. 394 | status_t readCharVector(std::unique_ptr<std::vector<char16_t>>* val) const;
  971. | ^~~~~~~~~~~~~~
  972. ./frameworks/native/include/binder/Parcel.h:393:25: note: previous declaration ‘android::status_t android::Parcel::readCharVector(int) const’
  973. 393 | status_t readCharVector(std::optional<std::vector<char16_t>>* val) const;
  974. | ^~~~~~~~~~~~~~
  975. ./frameworks/native/include/binder/Parcel.h:397:34: error: ‘std::optional’ has not been declared
  976. 397 | std::optional<std::vector<std::optional<String16>>>* val) const;
  977. | ^~~~~~~~
  978. ./frameworks/native/include/binder/Parcel.h:397:42: error: expected ‘,’ or ‘...’ before ‘<’ token
  979. 397 | std::optional<std::vector<std::optional<String16>>>* val) const;
  980. | ^
  981. ./frameworks/native/include/binder/Parcel.h:399:34: error: ‘std::unique_ptr’ has not been declared
  982. 399 | std::unique_ptr<std::vector<std::unique_ptr<String16>>>* val) const;
  983. | ^~~~~~~~~~
  984. ./frameworks/native/include/binder/Parcel.h:399:44: error: expected ‘,’ or ‘...’ before ‘<’ token
  985. 399 | std::unique_ptr<std::vector<std::unique_ptr<String16>>>* val) const;
  986. | ^
  987. ./frameworks/native/include/binder/Parcel.h:398:25: error: ‘android::status_t android::Parcel::readString16Vector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readString16Vector(int) const’
  988. 398 | status_t readString16Vector(
  989. | ^~~~~~~~~~~~~~~~~~
  990. ./frameworks/native/include/binder/Parcel.h:396:25: note: previous declaration ‘android::status_t android::Parcel::readString16Vector(int) const’
  991. 396 | status_t readString16Vector(
  992. | ^~~~~~~~~~~~~~~~~~
  993. ./frameworks/native/include/binder/Parcel.h:402:34: error: ‘std::optional’ has not been declared
  994. 402 | std::optional<std::vector<std::optional<std::string>>>* val) const;
  995. | ^~~~~~~~
  996. ./frameworks/native/include/binder/Parcel.h:402:42: error: expected ‘,’ or ‘...’ before ‘<’ token
  997. 402 | std::optional<std::vector<std::optional<std::string>>>* val) const;
  998. | ^
  999. ./frameworks/native/include/binder/Parcel.h:404:34: error: ‘std::unique_ptr’ has not been declared
  1000. 404 | std::unique_ptr<std::vector<std::unique_ptr<std::string>>>* val) const;
  1001. | ^~~~~~~~~~
  1002. ./frameworks/native/include/binder/Parcel.h:404:44: error: expected ‘,’ or ‘...’ before ‘<’ token
  1003. 404 | std::unique_ptr<std::vector<std::unique_ptr<std::string>>>* val) const;
  1004. | ^
  1005. ./frameworks/native/include/binder/Parcel.h:403:25: error: ‘android::status_t android::Parcel::readUtf8VectorFromUtf16Vector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readUtf8VectorFromUtf16Vector(int) const’
  1006. 403 | status_t readUtf8VectorFromUtf16Vector(
  1007. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1008. ./frameworks/native/include/binder/Parcel.h:401:25: note: previous declaration ‘android::status_t android::Parcel::readUtf8VectorFromUtf16Vector(int) const’
  1009. 401 | status_t readUtf8VectorFromUtf16Vector(
  1010. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1011. ./frameworks/native/include/binder/Parcel.h:416:46: error: ‘std::optional’ has not been declared
  1012. 416 | status_t resizeOutVector(std::optional<std::vector<T>>* val) const;
  1013. | ^~~~~~~~
  1014. ./frameworks/native/include/binder/Parcel.h:416:54: error: expected ‘,’ or ‘...’ before ‘<’ token
  1015. 416 | status_t resizeOutVector(std::optional<std::vector<T>>* val) const;
  1016. | ^
  1017. ./frameworks/native/include/binder/Parcel.h:418:46: error: ‘std::unique_ptr’ has not been declared
  1018. 418 | status_t resizeOutVector(std::unique_ptr<std::vector<T>>* val) const;
  1019. | ^~~~~~~~~~
  1020. ./frameworks/native/include/binder/Parcel.h:418:56: error: expected ‘,’ or ‘...’ before ‘<’ token
  1021. 418 | status_t resizeOutVector(std::unique_ptr<std::vector<T>>* val) const;
  1022. | ^
  1023. ./frameworks/native/include/binder/Parcel.h:418:25: error: ‘template<class T> android::status_t android::Parcel::resizeOutVector(int) const’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::resizeOutVector(int) const’
  1024. 418 | status_t resizeOutVector(std::unique_ptr<std::vector<T>>* val) const;
  1025. | ^~~~~~~~~~~~~~~
  1026. ./frameworks/native/include/binder/Parcel.h:416:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::resizeOutVector(int) const’
  1027. 416 | status_t resizeOutVector(std::optional<std::vector<T>>* val) const;
  1028. | ^~~~~~~~~~~~~~~
  1029. ./frameworks/native/include/binder/Parcel.h:422:47: error: ‘std::optional’ has not been declared
  1030. 422 | status_t reserveOutVector(std::optional<std::vector<T>>* val,
  1031. | ^~~~~~~~
  1032. ./frameworks/native/include/binder/Parcel.h:422:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  1033. 422 | status_t reserveOutVector(std::optional<std::vector<T>>* val,
  1034. | ^
  1035. ./frameworks/native/include/binder/Parcel.h:425:47: error: ‘std::unique_ptr’ has not been declared
  1036. 425 | status_t reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1037. | ^~~~~~~~~~
  1038. ./frameworks/native/include/binder/Parcel.h:425:57: error: expected ‘,’ or ‘...’ before ‘<’ token
  1039. 425 | status_t reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1040. | ^
  1041. ./frameworks/native/include/binder/Parcel.h:425:25: error: ‘template<class T> android::status_t android::Parcel::reserveOutVector(int) const’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::reserveOutVector(int) const’
  1042. 425 | status_t reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1043. | ^~~~~~~~~~~~~~~~
  1044. ./frameworks/native/include/binder/Parcel.h:422:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::reserveOutVector(int) const’
  1045. 422 | status_t reserveOutVector(std::optional<std::vector<T>>* val,
  1046. | ^~~~~~~~~~~~~~~~
  1047. ./frameworks/native/include/binder/Parcel.h:460:34: error: ‘std::optional’ has not been declared
  1048. 460 | std::optional<std::vector<base::unique_fd>>* val) const;
  1049. | ^~~~~~~~
  1050. ./frameworks/native/include/binder/Parcel.h:460:42: error: expected ‘,’ or ‘...’ before ‘<’ token
  1051. 460 | std::optional<std::vector<base::unique_fd>>* val) const;
  1052. | ^
  1053. ./frameworks/native/include/binder/Parcel.h:462:34: error: ‘std::unique_ptr’ has not been declared
  1054. 462 | std::unique_ptr<std::vector<base::unique_fd>>* val) const;
  1055. | ^~~~~~~~~~
  1056. ./frameworks/native/include/binder/Parcel.h:462:44: error: expected ‘,’ or ‘...’ before ‘<’ token
  1057. 462 | std::unique_ptr<std::vector<base::unique_fd>>* val) const;
  1058. | ^
  1059. ./frameworks/native/include/binder/Parcel.h:461:25: error: ‘android::status_t android::Parcel::readUniqueFileDescriptorVector(int) const’ cannot be overloaded with ‘android::status_t android::Parcel::readUniqueFileDescriptorVector(int) const’
  1060. 461 | status_t readUniqueFileDescriptorVector(
  1061. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1062. ./frameworks/native/include/binder/Parcel.h:459:25: note: previous declaration ‘android::status_t android::Parcel::readUniqueFileDescriptorVector(int) const’
  1063. 459 | status_t readUniqueFileDescriptorVector(
  1064. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1065. ./frameworks/native/include/binder/Parcel.h:537:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1066. 537 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1067. | ^~~~~~~~~
  1068. | is_same
  1069. ./frameworks/native/include/binder/Parcel.h:537:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1070. 537 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1071. | ^~~~~~~~~
  1072. | is_same
  1073. ./frameworks/native/include/binder/Parcel.h:537:100: error: template argument 1 is invalid
  1074. 537 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1075. | ^
  1076. ./frameworks/native/include/binder/Parcel.h:537:109: error: expected unqualified-id before ‘=’ token
  1077. 537 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1078. | ^
  1079. ./frameworks/native/include/binder/Parcel.h:539:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1080. 539 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1081. | ^~~~~~~~~
  1082. | is_same
  1083. ./frameworks/native/include/binder/Parcel.h:539:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1084. 539 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1085. | ^~~~~~~~~
  1086. | is_same
  1087. ./frameworks/native/include/binder/Parcel.h:539:100: error: template argument 1 is invalid
  1088. 539 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1089. | ^
  1090. ./frameworks/native/include/binder/Parcel.h:539:109: error: expected unqualified-id before ‘=’ token
  1091. 539 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1092. | ^
  1093. ./frameworks/native/include/binder/Parcel.h:542:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1094. 542 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1095. | ^~~~~~~~~
  1096. | is_same
  1097. ./frameworks/native/include/binder/Parcel.h:542:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1098. 542 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1099. | ^~~~~~~~~
  1100. | is_same
  1101. ./frameworks/native/include/binder/Parcel.h:542:100: error: template argument 1 is invalid
  1102. 542 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1103. | ^
  1104. ./frameworks/native/include/binder/Parcel.h:542:109: error: expected unqualified-id before ‘=’ token
  1105. 542 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
  1106. | ^
  1107. ./frameworks/native/include/binder/Parcel.h:544:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1108. 544 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1109. | ^~~~~~~~~
  1110. | is_same
  1111. ./frameworks/native/include/binder/Parcel.h:544:48: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1112. 544 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1113. | ^~~~~~~~~
  1114. | is_same
  1115. ./frameworks/native/include/binder/Parcel.h:544:100: error: template argument 1 is invalid
  1116. 544 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1117. | ^
  1118. ./frameworks/native/include/binder/Parcel.h:544:109: error: expected unqualified-id before ‘=’ token
  1119. 544 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
  1120. | ^
  1121. ./frameworks/native/include/binder/Parcel.h:555:54: error: ‘std::optional’ has not been declared
  1122. 555 | status_t readNullableTypedVector(std::optional<std::vector<T>>* val,
  1123. | ^~~~~~~~
  1124. ./frameworks/native/include/binder/Parcel.h:555:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  1125. 555 | status_t readNullableTypedVector(std::optional<std::vector<T>>* val,
  1126. | ^
  1127. ./frameworks/native/include/binder/Parcel.h:558:54: error: ‘std::unique_ptr’ has not been declared
  1128. 558 | status_t readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1129. | ^~~~~~~~~~
  1130. ./frameworks/native/include/binder/Parcel.h:558:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  1131. 558 | status_t readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1132. | ^
  1133. ./frameworks/native/include/binder/Parcel.h:558:25: error: ‘template<class T> android::status_t android::Parcel::readNullableTypedVector(int) const’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::readNullableTypedVector(int) const’
  1134. 558 | status_t readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1135. | ^~~~~~~~~~~~~~~~~~~~~~~
  1136. ./frameworks/native/include/binder/Parcel.h:555:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::readNullableTypedVector(int) const’
  1137. 555 | status_t readNullableTypedVector(std::optional<std::vector<T>>* val,
  1138. | ^~~~~~~~~~~~~~~~~~~~~~~
  1139. ./frameworks/native/include/binder/Parcel.h:567:61: error: ‘optional’ in namespace ‘std’ does not name a template type
  1140. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1141. | ^~~~~~~~
  1142. ./frameworks/native/include/binder/Parcel.h:567:56: note: ‘std::optional’ is only available from C++17 onwards
  1143. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1144. | ^~~
  1145. ./frameworks/native/include/binder/Parcel.h:567:69: error: expected ‘,’ or ‘...’ before ‘<’ token
  1146. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1147. | ^
  1148. ./frameworks/native/include/binder/Parcel.h:570:61: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1149. 570 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1150. | ^~~~~~~~~~
  1151. ./frameworks/native/include/binder/Parcel.h:570:56: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1152. 570 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1153. | ^~~
  1154. ./frameworks/native/include/binder/Parcel.h:570:71: error: expected ‘,’ or ‘...’ before ‘<’ token
  1155. 570 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1156. | ^
  1157. ./frameworks/native/include/binder/Parcel.h:570:25: error: ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1158. 570 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1159. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1160. ./frameworks/native/include/binder/Parcel.h:567:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1161. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1162. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1163. ./frameworks/native/include/binder/Parcel.h:573:61: error: ‘optional’ in namespace ‘std’ does not name a template type
  1164. 573 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1165. | ^~~~~~~~
  1166. ./frameworks/native/include/binder/Parcel.h:573:56: note: ‘std::optional’ is only available from C++17 onwards
  1167. 573 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1168. | ^~~
  1169. ./frameworks/native/include/binder/Parcel.h:573:69: error: expected ‘,’ or ‘...’ before ‘<’ token
  1170. 573 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1171. | ^
  1172. ./frameworks/native/include/binder/Parcel.h:573:25: error: ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1173. 573 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1174. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1175. ./frameworks/native/include/binder/Parcel.h:567:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1176. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1177. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1178. ./frameworks/native/include/binder/Parcel.h:576:61: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1179. 576 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1180. | ^~~~~~~~~~
  1181. ./frameworks/native/include/binder/Parcel.h:576:56: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1182. 576 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1183. | ^~~
  1184. ./frameworks/native/include/binder/Parcel.h:576:71: error: expected ‘,’ or ‘...’ before ‘<’ token
  1185. 576 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1186. | ^
  1187. ./frameworks/native/include/binder/Parcel.h:576:25: error: ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’ cannot be overloaded with ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1188. 576 | status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1189. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1190. ./frameworks/native/include/binder/Parcel.h:567:25: note: previous declaration ‘template<class T> android::status_t android::Parcel::writeNullableTypedVector(int)’
  1191. 567 | status_t writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1192. | ^~~~~~~~~~~~~~~~~~~~~~~~
  1193. ./frameworks/native/include/binder/Parcel.h:763:45: error: ‘optional’ in namespace ‘std’ does not name a template type
  1194. 763 | status_t Parcel::writeVectorSize(const std::optional<std::vector<T>>& val) {
  1195. | ^~~~~~~~
  1196. ./frameworks/native/include/binder/Parcel.h:763:40: note: ‘std::optional’ is only available from C++17 onwards
  1197. 763 | status_t Parcel::writeVectorSize(const std::optional<std::vector<T>>& val) {
  1198. | ^~~
  1199. ./frameworks/native/include/binder/Parcel.h:763:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  1200. 763 | status_t Parcel::writeVectorSize(const std::optional<std::vector<T>>& val) {
  1201. | ^
  1202. ./frameworks/native/include/binder/Parcel.h: In member function ‘android::status_t android::Parcel::writeVectorSize(int)’:
  1203. ./frameworks/native/include/binder/Parcel.h:764:10: error: ‘val’ was not declared in this scope
  1204. 764 | if (!val) {
  1205. | ^~~
  1206. ./frameworks/native/include/binder/Parcel.h:768:29: error: ‘val’ was not declared in this scope
  1207. 768 | return writeVectorSize(*val);
  1208. | ^~~
  1209. ./frameworks/native/include/binder/Parcel.h: At global scope:
  1210. ./frameworks/native/include/binder/Parcel.h:772:45: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1211. 772 | status_t Parcel::writeVectorSize(const std::unique_ptr<std::vector<T>>& val) {
  1212. | ^~~~~~~~~~
  1213. ./frameworks/native/include/binder/Parcel.h:772:40: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1214. 772 | status_t Parcel::writeVectorSize(const std::unique_ptr<std::vector<T>>& val) {
  1215. | ^~~
  1216. ./frameworks/native/include/binder/Parcel.h:772:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  1217. 772 | status_t Parcel::writeVectorSize(const std::unique_ptr<std::vector<T>>& val) {
  1218. | ^
  1219. ./frameworks/native/include/binder/Parcel.h:772:10: error: redefinition of ‘android::status_t android::Parcel::writeVectorSize(int)’
  1220. 772 | status_t Parcel::writeVectorSize(const std::unique_ptr<std::vector<T>>& val) {
  1221. | ^~~~~~
  1222. ./frameworks/native/include/binder/Parcel.h:763:10: note: ‘android::status_t android::Parcel::writeVectorSize(int)’ previously declared here
  1223. 763 | status_t Parcel::writeVectorSize(const std::optional<std::vector<T>>& val) {
  1224. | ^~~~~~
  1225. ./frameworks/native/include/binder/Parcel.h:796:10: error: ‘android::status_t android::Parcel::resizeOutVector’ is not a static data member of ‘class android::Parcel’
  1226. 796 | status_t Parcel::resizeOutVector(std::optional<std::vector<T>>* val) const {
  1227. | ^~~~~~
  1228. ./frameworks/native/include/binder/Parcel.h:796:39: error: template definition of non-template ‘android::status_t android::Parcel::resizeOutVector’
  1229. 796 | status_t Parcel::resizeOutVector(std::optional<std::vector<T>>* val) const {
  1230. | ^~~~~~~~
  1231. ./frameworks/native/include/binder/Parcel.h:796:39: error: ‘optional’ is not a member of ‘std’
  1232. ./frameworks/native/include/binder/Parcel.h:796:39: note: ‘std::optional’ is only available from C++17 onwards
  1233. ./frameworks/native/include/binder/Parcel.h:796:61: error: expected primary-expression before ‘>’ token
  1234. 796 | status_t Parcel::resizeOutVector(std::optional<std::vector<T>>* val) const {
  1235. | ^~
  1236. ./frameworks/native/include/binder/Parcel.h:796:65: error: ‘val’ was not declared in this scope
  1237. 796 | status_t Parcel::resizeOutVector(std::optional<std::vector<T>>* val) const {
  1238. | ^~~
  1239. ./frameworks/native/include/binder/Parcel.h:812:10: error: ‘android::status_t android::Parcel::resizeOutVector’ is not a static data member of ‘class android::Parcel’
  1240. 812 | status_t Parcel::resizeOutVector(std::unique_ptr<std::vector<T>>* val) const {
  1241. | ^~~~~~
  1242. ./frameworks/native/include/binder/Parcel.h:812:39: error: template definition of non-template ‘android::status_t android::Parcel::resizeOutVector’
  1243. 812 | status_t Parcel::resizeOutVector(std::unique_ptr<std::vector<T>>* val) const {
  1244. | ^~~~~~~~~~
  1245. ./frameworks/native/include/binder/Parcel.h:812:39: error: ‘unique_ptr’ is not a member of ‘std’
  1246. ./frameworks/native/include/binder/Parcel.h:812:39: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1247. ./frameworks/native/include/binder/Parcel.h:812:63: error: expected primary-expression before ‘>’ token
  1248. 812 | status_t Parcel::resizeOutVector(std::unique_ptr<std::vector<T>>* val) const {
  1249. | ^~
  1250. ./frameworks/native/include/binder/Parcel.h:812:67: error: ‘val’ was not declared in this scope
  1251. 812 | status_t Parcel::resizeOutVector(std::unique_ptr<std::vector<T>>* val) const {
  1252. | ^~~
  1253. ./frameworks/native/include/binder/Parcel.h:844:10: error: ‘android::status_t android::Parcel::reserveOutVector’ is not a static data member of ‘class android::Parcel’
  1254. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1255. | ^~~~~~
  1256. ./frameworks/native/include/binder/Parcel.h:844:40: error: template definition of non-template ‘android::status_t android::Parcel::reserveOutVector’
  1257. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1258. | ^~~~~~~~
  1259. ./frameworks/native/include/binder/Parcel.h:844:40: error: ‘optional’ is not a member of ‘std’
  1260. ./frameworks/native/include/binder/Parcel.h:844:40: note: ‘std::optional’ is only available from C++17 onwards
  1261. ./frameworks/native/include/binder/Parcel.h:844:62: error: expected primary-expression before ‘>’ token
  1262. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1263. | ^~
  1264. ./frameworks/native/include/binder/Parcel.h:844:66: error: ‘val’ was not declared in this scope
  1265. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1266. | ^~~
  1267. ./frameworks/native/include/binder/Parcel.h:844:77: error: expected primary-expression before ‘*’ token
  1268. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1269. | ^
  1270. ./frameworks/native/include/binder/Parcel.h:844:79: error: ‘size’ was not declared in this scope
  1271. 844 | status_t Parcel::reserveOutVector(std::optional<std::vector<T>>* val, size_t* size) const {
  1272. | ^~~~
  1273. ./frameworks/native/include/binder/Parcel.h:863:10: error: ‘android::status_t android::Parcel::reserveOutVector’ is not a static data member of ‘class android::Parcel’
  1274. 863 | status_t Parcel::reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1275. | ^~~~~~
  1276. ./frameworks/native/include/binder/Parcel.h:863:40: error: template definition of non-template ‘android::status_t android::Parcel::reserveOutVector’
  1277. 863 | status_t Parcel::reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1278. | ^~~~~~~~~~
  1279. ./frameworks/native/include/binder/Parcel.h:863:40: error: ‘unique_ptr’ is not a member of ‘std’
  1280. ./frameworks/native/include/binder/Parcel.h:863:40: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1281. ./frameworks/native/include/binder/Parcel.h:863:64: error: expected primary-expression before ‘>’ token
  1282. 863 | status_t Parcel::reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1283. | ^~
  1284. ./frameworks/native/include/binder/Parcel.h:863:68: error: ‘val’ was not declared in this scope
  1285. 863 | status_t Parcel::reserveOutVector(std::unique_ptr<std::vector<T>>* val,
  1286. | ^~~
  1287. ./frameworks/native/include/binder/Parcel.h:864:41: error: expected primary-expression before ‘*’ token
  1288. 864 | size_t* size) const {
  1289. | ^
  1290. ./frameworks/native/include/binder/Parcel.h:864:43: error: ‘size’ was not declared in this scope
  1291. 864 | size_t* size) const {
  1292. | ^~~~
  1293. ./frameworks/native/include/binder/Parcel.h:957:10: error: ‘android::status_t android::Parcel::readNullableTypedVector’ is not a static data member of ‘class android::Parcel’
  1294. 957 | status_t Parcel::readNullableTypedVector(std::optional<std::vector<T>>* val,
  1295. | ^~~~~~
  1296. ./frameworks/native/include/binder/Parcel.h:957:47: error: template definition of non-template ‘android::status_t android::Parcel::readNullableTypedVector’
  1297. 957 | status_t Parcel::readNullableTypedVector(std::optional<std::vector<T>>* val,
  1298. | ^~~~~~~~
  1299. ./frameworks/native/include/binder/Parcel.h:957:47: error: ‘optional’ is not a member of ‘std’
  1300. ./frameworks/native/include/binder/Parcel.h:957:47: note: ‘std::optional’ is only available from C++17 onwards
  1301. ./frameworks/native/include/binder/Parcel.h:957:69: error: expected primary-expression before ‘>’ token
  1302. 957 | status_t Parcel::readNullableTypedVector(std::optional<std::vector<T>>* val,
  1303. | ^~
  1304. ./frameworks/native/include/binder/Parcel.h:957:73: error: ‘val’ was not declared in this scope
  1305. 957 | status_t Parcel::readNullableTypedVector(std::optional<std::vector<T>>* val,
  1306. | ^~~
  1307. ./frameworks/native/include/binder/Parcel.h:958:50: error: expected primary-expression before ‘(’ token
  1308. 958 | status_t(Parcel::*read_func)(T*) const) const {
  1309. | ^
  1310. ./frameworks/native/include/binder/Parcel.h:958:59: error: expected unqualified-id before ‘*’ token
  1311. 958 | status_t(Parcel::*read_func)(T*) const) const {
  1312. | ^
  1313. ./frameworks/native/include/binder/Parcel.h:958:60: error: ‘read_func’ was not declared in this scope; did you mean ‘release_func’?
  1314. 958 | status_t(Parcel::*read_func)(T*) const) const {
  1315. | ^~~~~~~~~
  1316. | release_func
  1317. ./frameworks/native/include/binder/Parcel.h:958:72: error: expected primary-expression before ‘*’ token
  1318. 958 | status_t(Parcel::*read_func)(T*) const) const {
  1319. | ^
  1320. ./frameworks/native/include/binder/Parcel.h:958:73: error: expected primary-expression before ‘)’ token
  1321. 958 | status_t(Parcel::*read_func)(T*) const) const {
  1322. | ^
  1323. ./frameworks/native/include/binder/Parcel.h:981:10: error: ‘android::status_t android::Parcel::readNullableTypedVector’ is not a static data member of ‘class android::Parcel’
  1324. 981 | status_t Parcel::readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1325. | ^~~~~~
  1326. ./frameworks/native/include/binder/Parcel.h:981:47: error: template definition of non-template ‘android::status_t android::Parcel::readNullableTypedVector’
  1327. 981 | status_t Parcel::readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1328. | ^~~~~~~~~~
  1329. ./frameworks/native/include/binder/Parcel.h:981:47: error: ‘unique_ptr’ is not a member of ‘std’
  1330. ./frameworks/native/include/binder/Parcel.h:981:47: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1331. ./frameworks/native/include/binder/Parcel.h:981:71: error: expected primary-expression before ‘>’ token
  1332. 981 | status_t Parcel::readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1333. | ^~
  1334. ./frameworks/native/include/binder/Parcel.h:981:75: error: ‘val’ was not declared in this scope
  1335. 981 | status_t Parcel::readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
  1336. | ^~~
  1337. ./frameworks/native/include/binder/Parcel.h:982:50: error: expected primary-expression before ‘(’ token
  1338. 982 | status_t(Parcel::*read_func)(T*) const) const {
  1339. | ^
  1340. ./frameworks/native/include/binder/Parcel.h:982:59: error: expected unqualified-id before ‘*’ token
  1341. 982 | status_t(Parcel::*read_func)(T*) const) const {
  1342. | ^
  1343. ./frameworks/native/include/binder/Parcel.h:982:60: error: ‘read_func’ was not declared in this scope; did you mean ‘release_func’?
  1344. 982 | status_t(Parcel::*read_func)(T*) const) const {
  1345. | ^~~~~~~~~
  1346. | release_func
  1347. ./frameworks/native/include/binder/Parcel.h:982:72: error: expected primary-expression before ‘*’ token
  1348. 982 | status_t(Parcel::*read_func)(T*) const) const {
  1349. | ^
  1350. ./frameworks/native/include/binder/Parcel.h:982:73: error: expected primary-expression before ‘)’ token
  1351. 982 | status_t(Parcel::*read_func)(T*) const) const {
  1352. | ^
  1353. ./frameworks/native/include/binder/Parcel.h: In member function ‘android::status_t android::Parcel::unsafeWriteTypedVector(const std::vector<T>&, android::status_t (android::Parcel::*)(U))’:
  1354. ./frameworks/native/include/binder/Parcel.h:1007:27: error: ‘numeric_limits’ is not a member of ‘std’
  1355. 1007 | if (val.size() > std::numeric_limits<int32_t>::max()) {
  1356. | ^~~~~~~~~~~~~~
  1357. ./frameworks/native/include/binder/Parcel.h:1007:49: error: expected primary-expression before ‘>’ token
  1358. 1007 | if (val.size() > std::numeric_limits<int32_t>::max()) {
  1359. | ^
  1360. ./frameworks/native/include/binder/Parcel.h:1007:52: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  1361. 1007 | if (val.size() > std::numeric_limits<int32_t>::max()) {
  1362. | ^~~
  1363. | std::max
  1364. In file included from /usr/include/c++/9/bits/stl_tree.h:63,
  1365. from /usr/include/c++/9/map:60,
  1366. from ./frameworks/native/include/binder/Parcel.h:20,
  1367. from ./frameworks/native/cmds/service/service.cpp:17:
  1368. /usr/include/c++/9/bits/stl_algobase.h:268:5: note: ‘std::max’ declared here
  1369. 268 | max(const _Tp& __a, const _Tp& __b, _Compare __comp)
  1370. | ^~~
  1371. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1372. ./frameworks/native/include/binder/Parcel.h: At global scope:
  1373. ./frameworks/native/include/binder/Parcel.h:1041:54: error: ‘optional’ in namespace ‘std’ does not name a template type
  1374. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1375. | ^~~~~~~~
  1376. ./frameworks/native/include/binder/Parcel.h:1041:49: note: ‘std::optional’ is only available from C++17 onwards
  1377. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1378. | ^~~
  1379. ./frameworks/native/include/binder/Parcel.h:1041:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  1380. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1381. | ^
  1382. ./frameworks/native/include/binder/Parcel.h: In member function ‘android::status_t android::Parcel::writeNullableTypedVector(int)’:
  1383. ./frameworks/native/include/binder/Parcel.h:1043:10: error: ‘val’ was not declared in this scope
  1384. 1043 | if (!val) {
  1385. | ^~~
  1386. ./frameworks/native/include/binder/Parcel.h:1047:36: error: ‘val’ was not declared in this scope
  1387. 1047 | return unsafeWriteTypedVector(*val, write_func);
  1388. | ^~~
  1389. ./frameworks/native/include/binder/Parcel.h:1047:41: error: ‘write_func’ was not declared in this scope
  1390. 1047 | return unsafeWriteTypedVector(*val, write_func);
  1391. | ^~~~~~~~~~
  1392. ./frameworks/native/include/binder/Parcel.h: At global scope:
  1393. ./frameworks/native/include/binder/Parcel.h:1051:54: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1394. 1051 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1395. | ^~~~~~~~~~
  1396. ./frameworks/native/include/binder/Parcel.h:1051:49: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1397. 1051 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1398. | ^~~
  1399. ./frameworks/native/include/binder/Parcel.h:1051:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  1400. 1051 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1401. | ^
  1402. ./frameworks/native/include/binder/Parcel.h:1051:10: error: redefinition of ‘android::status_t android::Parcel::writeNullableTypedVector(int)’
  1403. 1051 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1404. | ^~~~~~
  1405. ./frameworks/native/include/binder/Parcel.h:1041:10: note: ‘android::status_t android::Parcel::writeNullableTypedVector(int)’ previously declared here
  1406. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1407. | ^~~~~~
  1408. ./frameworks/native/include/binder/Parcel.h:1061:54: error: ‘optional’ in namespace ‘std’ does not name a template type
  1409. 1061 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1410. | ^~~~~~~~
  1411. ./frameworks/native/include/binder/Parcel.h:1061:49: note: ‘std::optional’ is only available from C++17 onwards
  1412. 1061 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1413. | ^~~
  1414. ./frameworks/native/include/binder/Parcel.h:1061:62: error: expected ‘,’ or ‘...’ before ‘<’ token
  1415. 1061 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1416. | ^
  1417. ./frameworks/native/include/binder/Parcel.h:1061:10: error: redefinition of ‘android::status_t android::Parcel::writeNullableTypedVector(int)’
  1418. 1061 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1419. | ^~~~~~
  1420. ./frameworks/native/include/binder/Parcel.h:1041:10: note: ‘android::status_t android::Parcel::writeNullableTypedVector(int)’ previously declared here
  1421. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1422. | ^~~~~~
  1423. ./frameworks/native/include/binder/Parcel.h:1071:54: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1424. 1071 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1425. | ^~~~~~~~~~
  1426. ./frameworks/native/include/binder/Parcel.h:1071:49: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1427. 1071 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1428. | ^~~
  1429. ./frameworks/native/include/binder/Parcel.h:1071:64: error: expected ‘,’ or ‘...’ before ‘<’ token
  1430. 1071 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1431. | ^
  1432. ./frameworks/native/include/binder/Parcel.h:1071:10: error: redefinition of ‘android::status_t android::Parcel::writeNullableTypedVector(int)’
  1433. 1071 | status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
  1434. | ^~~~~~
  1435. ./frameworks/native/include/binder/Parcel.h:1041:10: note: ‘android::status_t android::Parcel::writeNullableTypedVector(int)’ previously declared here
  1436. 1041 | status_t Parcel::writeNullableTypedVector(const std::optional<std::vector<T>>& val,
  1437. | ^~~~~~
  1438. ./frameworks/native/include/binder/Parcel.h:1086:10: error: ‘android::status_t android::Parcel::readParcelableVector’ is not a static data member of ‘class android::Parcel’
  1439. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1440. | ^~~~~~
  1441. ./frameworks/native/include/binder/Parcel.h:1086:44: error: template definition of non-template ‘android::status_t android::Parcel::readParcelableVector’
  1442. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1443. | ^~~~~~~~
  1444. ./frameworks/native/include/binder/Parcel.h:1086:44: error: ‘optional’ is not a member of ‘std’
  1445. ./frameworks/native/include/binder/Parcel.h:1086:44: note: ‘std::optional’ is only available from C++17 onwards
  1446. ./frameworks/native/include/binder/Parcel.h:1086:70: error: ‘optional’ is not a member of ‘std’
  1447. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1448. | ^~~~~~~~
  1449. ./frameworks/native/include/binder/Parcel.h:1086:70: note: ‘std::optional’ is only available from C++17 onwards
  1450. ./frameworks/native/include/binder/Parcel.h:1086:70: error: ‘optional’ is not a member of ‘std’
  1451. ./frameworks/native/include/binder/Parcel.h:1086:70: note: ‘std::optional’ is only available from C++17 onwards
  1452. ./frameworks/native/include/binder/Parcel.h:1086:79: error: template argument 1 is invalid
  1453. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1454. | ^
  1455. ./frameworks/native/include/binder/Parcel.h:1086:79: error: template argument 2 is invalid
  1456. ./frameworks/native/include/binder/Parcel.h:1086:82: error: expected primary-expression before ‘>’ token
  1457. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1458. | ^
  1459. ./frameworks/native/include/binder/Parcel.h:1086:85: error: ‘val’ was not declared in this scope
  1460. 1086 | status_t Parcel::readParcelableVector(std::optional<std::vector<std::optional<T>>>* val) const {
  1461. | ^~~
  1462. ./frameworks/native/include/binder/Parcel.h:1110:10: error: ‘android::status_t android::Parcel::readParcelableVector’ is not a static data member of ‘class android::Parcel’
  1463. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1464. | ^~~~~~
  1465. ./frameworks/native/include/binder/Parcel.h:1110:44: error: template definition of non-template ‘android::status_t android::Parcel::readParcelableVector’
  1466. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1467. | ^~~~~~~~~~
  1468. ./frameworks/native/include/binder/Parcel.h:1110:44: error: ‘unique_ptr’ is not a member of ‘std’
  1469. ./frameworks/native/include/binder/Parcel.h:1110:44: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1470. ./frameworks/native/include/binder/Parcel.h:1110:72: error: ‘unique_ptr’ is not a member of ‘std’
  1471. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1472. | ^~~~~~~~~~
  1473. ./frameworks/native/include/binder/Parcel.h:1110:72: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1474. ./frameworks/native/include/binder/Parcel.h:1110:72: error: ‘unique_ptr’ is not a member of ‘std’
  1475. ./frameworks/native/include/binder/Parcel.h:1110:72: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1476. ./frameworks/native/include/binder/Parcel.h:1110:83: error: template argument 1 is invalid
  1477. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1478. | ^
  1479. ./frameworks/native/include/binder/Parcel.h:1110:83: error: template argument 2 is invalid
  1480. ./frameworks/native/include/binder/Parcel.h:1110:86: error: expected primary-expression before ‘>’ token
  1481. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1482. | ^
  1483. ./frameworks/native/include/binder/Parcel.h:1110:89: error: ‘val’ was not declared in this scope
  1484. 1110 | status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
  1485. | ^~~
  1486. ./frameworks/native/include/binder/Parcel.h:1134:10: error: ‘android::status_t android::Parcel::readParcelable’ is not a static data member of ‘class android::Parcel’
  1487. 1134 | status_t Parcel::readParcelable(std::optional<T>* parcelable) const {
  1488. | ^~~~~~
  1489. ./frameworks/native/include/binder/Parcel.h:1134:38: error: template definition of non-template ‘android::status_t android::Parcel::readParcelable’
  1490. 1134 | status_t Parcel::readParcelable(std::optional<T>* parcelable) const {
  1491. | ^~~~~~~~
  1492. ./frameworks/native/include/binder/Parcel.h:1134:38: error: ‘optional’ is not a member of ‘std’
  1493. ./frameworks/native/include/binder/Parcel.h:1134:38: note: ‘std::optional’ is only available from C++17 onwards
  1494. ./frameworks/native/include/binder/Parcel.h:1134:48: error: expected primary-expression before ‘>’ token
  1495. 1134 | status_t Parcel::readParcelable(std::optional<T>* parcelable) const {
  1496. | ^
  1497. ./frameworks/native/include/binder/Parcel.h:1134:51: error: ‘parcelable’ was not declared in this scope; did you mean ‘Parcelable’?
  1498. 1134 | status_t Parcel::readParcelable(std::optional<T>* parcelable) const {
  1499. | ^~~~~~~~~~
  1500. | Parcelable
  1501. ./frameworks/native/include/binder/Parcel.h:1157:10: error: ‘android::status_t android::Parcel::readParcelable’ is not a static data member of ‘class android::Parcel’
  1502. 1157 | status_t Parcel::readParcelable(std::unique_ptr<T>* parcelable) const {
  1503. | ^~~~~~
  1504. ./frameworks/native/include/binder/Parcel.h:1157:38: error: template definition of non-template ‘android::status_t android::Parcel::readParcelable’
  1505. 1157 | status_t Parcel::readParcelable(std::unique_ptr<T>* parcelable) const {
  1506. | ^~~~~~~~~~
  1507. ./frameworks/native/include/binder/Parcel.h:1157:38: error: ‘unique_ptr’ is not a member of ‘std’
  1508. ./frameworks/native/include/binder/Parcel.h:1157:38: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1509. ./frameworks/native/include/binder/Parcel.h:1157:50: error: expected primary-expression before ‘>’ token
  1510. 1157 | status_t Parcel::readParcelable(std::unique_ptr<T>* parcelable) const {
  1511. | ^
  1512. ./frameworks/native/include/binder/Parcel.h:1157:53: error: ‘parcelable’ was not declared in this scope; did you mean ‘Parcelable’?
  1513. 1157 | status_t Parcel::readParcelable(std::unique_ptr<T>* parcelable) const {
  1514. | ^~~~~~~~~~
  1515. | Parcelable
  1516. ./frameworks/native/include/binder/Parcel.h:1180:53: error: ‘optional’ in namespace ‘std’ does not name a template type
  1517. 1180 | status_t Parcel::writeNullableParcelable(const std::optional<T>& parcelable) {
  1518. | ^~~~~~~~
  1519. ./frameworks/native/include/binder/Parcel.h:1180:48: note: ‘std::optional’ is only available from C++17 onwards
  1520. 1180 | status_t Parcel::writeNullableParcelable(const std::optional<T>& parcelable) {
  1521. | ^~~
  1522. ./frameworks/native/include/binder/Parcel.h:1180:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  1523. 1180 | status_t Parcel::writeNullableParcelable(const std::optional<T>& parcelable) {
  1524. | ^
  1525. ./frameworks/native/include/binder/Parcel.h: In member function ‘android::status_t android::Parcel::writeNullableParcelable(int)’:
  1526. ./frameworks/native/include/binder/Parcel.h:1181:39: error: ‘parcelable’ was not declared in this scope; did you mean ‘Parcelable’?
  1527. 1181 | return writeRawNullableParcelable(parcelable ? &*parcelable : nullptr);
  1528. | ^~~~~~~~~~
  1529. | Parcelable
  1530. ./frameworks/native/include/binder/Parcel.h: At global scope:
  1531. ./frameworks/native/include/binder/Parcel.h:1185:53: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1532. 1185 | status_t Parcel::writeNullableParcelable(const std::unique_ptr<T>& parcelable) {
  1533. | ^~~~~~~~~~
  1534. ./frameworks/native/include/binder/Parcel.h:1185:48: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1535. 1185 | status_t Parcel::writeNullableParcelable(const std::unique_ptr<T>& parcelable) {
  1536. | ^~~
  1537. ./frameworks/native/include/binder/Parcel.h:1185:63: error: expected ‘,’ or ‘...’ before ‘<’ token
  1538. 1185 | status_t Parcel::writeNullableParcelable(const std::unique_ptr<T>& parcelable) {
  1539. | ^
  1540. ./frameworks/native/include/binder/Parcel.h:1185:10: error: redefinition of ‘android::status_t android::Parcel::writeNullableParcelable(int)’
  1541. 1185 | status_t Parcel::writeNullableParcelable(const std::unique_ptr<T>& parcelable) {
  1542. | ^~~~~~
  1543. ./frameworks/native/include/binder/Parcel.h:1180:10: note: ‘android::status_t android::Parcel::writeNullableParcelable(int)’ previously declared here
  1544. 1180 | status_t Parcel::writeNullableParcelable(const std::optional<T>& parcelable) {
  1545. | ^~~~~~
  1546. ./frameworks/native/include/binder/Parcel.h:1195:51: error: ‘optional’ in namespace ‘std’ does not name a template type
  1547. 1195 | status_t Parcel::writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val) {
  1548. | ^~~~~~~~
  1549. ./frameworks/native/include/binder/Parcel.h:1195:46: note: ‘std::optional’ is only available from C++17 onwards
  1550. 1195 | status_t Parcel::writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val) {
  1551. | ^~~
  1552. ./frameworks/native/include/binder/Parcel.h:1195:59: error: expected ‘,’ or ‘...’ before ‘<’ token
  1553. 1195 | status_t Parcel::writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val) {
  1554. | ^
  1555. ./frameworks/native/include/binder/Parcel.h: In member function ‘android::status_t android::Parcel::writeParcelableVector(int)’:
  1556. ./frameworks/native/include/binder/Parcel.h:1196:10: error: ‘val’ was not declared in this scope
  1557. 1196 | if (!val) {
  1558. | ^~~
  1559. ./frameworks/native/include/binder/Parcel.h:1200:28: error: ‘optional’ in namespace ‘std’ does not name a template type
  1560. 1200 | using NullableT = std::optional<T>;
  1561. | ^~~~~~~~
  1562. ./frameworks/native/include/binder/Parcel.h:1200:23: note: ‘std::optional’ is only available from C++17 onwards
  1563. 1200 | using NullableT = std::optional<T>;
  1564. | ^~~
  1565. ./frameworks/native/include/binder/Parcel.h:1201:35: error: ‘NullableT’ was not declared in this scope
  1566. 1201 | return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable);
  1567. | ^~~~~~~~~
  1568. ./frameworks/native/include/binder/Parcel.h:1201:52: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
  1569. 1201 | return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable);
  1570. | ^~~~~~~~~
  1571. ./frameworks/native/include/binder/Parcel.h:1201:12: error: parse error in template argument list
  1572. 1201 | return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable);
  1573. | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  1574. ./frameworks/native/include/binder/Parcel.h:1201:65: error: ‘val’ was not declared in this scope
  1575. 1201 | return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable);
  1576. | ^~~
  1577. ./frameworks/native/include/binder/Parcel.h: At global scope:
  1578. ./frameworks/native/include/binder/Parcel.h:1205:51: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1579. 1205 | status_t Parcel::writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1580. | ^~~~~~~~~~
  1581. ./frameworks/native/include/binder/Parcel.h:1205:46: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1582. 1205 | status_t Parcel::writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1583. | ^~~
  1584. ./frameworks/native/include/binder/Parcel.h:1205:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  1585. 1205 | status_t Parcel::writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1586. | ^
  1587. ./frameworks/native/include/binder/Parcel.h:1205:10: error: redefinition of ‘android::status_t android::Parcel::writeParcelableVector(int)’
  1588. 1205 | status_t Parcel::writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1589. | ^~~~~~
  1590. ./frameworks/native/include/binder/Parcel.h:1195:10: note: ‘android::status_t android::Parcel::writeParcelableVector(int)’ previously declared here
  1591. 1195 | status_t Parcel::writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val) {
  1592. | ^~~~~~
  1593. ./frameworks/native/include/binder/Parcel.h:1214:51: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
  1594. 1214 | status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1595. | ^~~~~~~~~~
  1596. ./frameworks/native/include/binder/Parcel.h:1214:46: note: ‘std::shared_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1597. 1214 | status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1598. | ^~~
  1599. ./frameworks/native/include/binder/Parcel.h:1214:61: error: expected ‘,’ or ‘...’ before ‘<’ token
  1600. 1214 | status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1601. | ^
  1602. ./frameworks/native/include/binder/Parcel.h:1214:10: error: redefinition of ‘android::status_t android::Parcel::writeParcelableVector(int)’
  1603. 1214 | status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val) {
  1604. | ^~~~~~
  1605. ./frameworks/native/include/binder/Parcel.h:1195:10: note: ‘android::status_t android::Parcel::writeParcelableVector(int)’ previously declared here
  1606. 1195 | status_t Parcel::writeParcelableVector(const std::optional<std::vector<std::optional<T>>>& val) {
  1607. | ^~~~~~
  1608. ./frameworks/native/include/binder/Parcel.h:1223:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1609. 1223 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1610. | ^~~~~~~~~
  1611. | is_same
  1612. ./frameworks/native/include/binder/Parcel.h:1223:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1613. 1223 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1614. | ^~~~~~~~~
  1615. | is_same
  1616. ./frameworks/native/include/binder/Parcel.h:1223:96: error: template argument 1 is invalid
  1617. 1223 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1618. | ^
  1619. ./frameworks/native/include/binder/Parcel.h:1223:103: error: expected ‘>’ before ‘>>’ token
  1620. 1223 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1621. | ^~
  1622. ./frameworks/native/include/binder/Parcel.h:1224:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnum(const T&)’
  1623. 1224 | status_t Parcel::writeEnum(const T& val) {
  1624. | ^~~~~~
  1625. ./frameworks/native/include/binder/Parcel.h:1224:10: note: no functions named ‘android::status_t android::Parcel::writeEnum(const T&)’
  1626. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1627. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1628. 55 | class Parcel {
  1629. | ^~~~~~
  1630. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1631. ./frameworks/native/include/binder/Parcel.h:1227:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1632. 1227 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1633. | ^~~~~~~~~
  1634. | is_same
  1635. ./frameworks/native/include/binder/Parcel.h:1227:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1636. 1227 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1637. | ^~~~~~~~~
  1638. | is_same
  1639. ./frameworks/native/include/binder/Parcel.h:1227:96: error: template argument 1 is invalid
  1640. 1227 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1641. | ^
  1642. ./frameworks/native/include/binder/Parcel.h:1227:103: error: expected ‘>’ before ‘>>’ token
  1643. 1227 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1644. | ^~
  1645. ./frameworks/native/include/binder/Parcel.h:1228:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnum(const T&)’
  1646. 1228 | status_t Parcel::writeEnum(const T& val) {
  1647. | ^~~~~~
  1648. ./frameworks/native/include/binder/Parcel.h:1228:10: note: no functions named ‘android::status_t android::Parcel::writeEnum(const T&)’
  1649. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1650. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1651. 55 | class Parcel {
  1652. | ^~~~~~
  1653. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1654. ./frameworks/native/include/binder/Parcel.h:1232:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1655. 1232 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1656. | ^~~~~~~~~
  1657. | is_enum
  1658. ./frameworks/native/include/binder/Parcel.h:1232:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1659. 1232 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1660. | ^~~~~~~~~
  1661. | is_enum
  1662. ./frameworks/native/include/binder/Parcel.h:1232:55: error: template argument 1 is invalid
  1663. 1232 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1664. | ^
  1665. ./frameworks/native/include/binder/Parcel.h:1232:60: error: expected ‘>’
  1666. 1232 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1667. | ^~~
  1668. ./frameworks/native/include/binder/Parcel.h:1233:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(const std::vector<T>&)’
  1669. 1233 | status_t Parcel::writeEnumVector(const std::vector<T>& val) {
  1670. | ^~~~~~
  1671. ./frameworks/native/include/binder/Parcel.h:1233:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(const std::vector<T>&)’
  1672. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1673. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1674. 55 | class Parcel {
  1675. | ^~~~~~
  1676. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1677. ./frameworks/native/include/binder/Parcel.h:1236:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1678. 1236 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1679. | ^~~~~~~~~
  1680. | is_enum
  1681. ./frameworks/native/include/binder/Parcel.h:1236:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1682. 1236 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1683. | ^~~~~~~~~
  1684. | is_enum
  1685. ./frameworks/native/include/binder/Parcel.h:1236:55: error: template argument 1 is invalid
  1686. 1236 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1687. | ^
  1688. ./frameworks/native/include/binder/Parcel.h:1236:60: error: expected ‘>’
  1689. 1236 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1690. | ^~~
  1691. ./frameworks/native/include/binder/Parcel.h:1237:45: error: ‘optional’ in namespace ‘std’ does not name a template type
  1692. 1237 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1693. | ^~~~~~~~
  1694. ./frameworks/native/include/binder/Parcel.h:1237:40: note: ‘std::optional’ is only available from C++17 onwards
  1695. 1237 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1696. | ^~~
  1697. ./frameworks/native/include/binder/Parcel.h:1237:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  1698. 1237 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1699. | ^
  1700. ./frameworks/native/include/binder/Parcel.h:1237:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(int)’
  1701. 1237 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1702. | ^~~~~~
  1703. ./frameworks/native/include/binder/Parcel.h:1237:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(int)’
  1704. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1705. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1706. 55 | class Parcel {
  1707. | ^~~~~~
  1708. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1709. ./frameworks/native/include/binder/Parcel.h:1241:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1710. 1241 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1711. | ^~~~~~~~~
  1712. | is_enum
  1713. ./frameworks/native/include/binder/Parcel.h:1241:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1714. 1241 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1715. | ^~~~~~~~~
  1716. | is_enum
  1717. ./frameworks/native/include/binder/Parcel.h:1241:55: error: template argument 1 is invalid
  1718. 1241 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1719. | ^
  1720. ./frameworks/native/include/binder/Parcel.h:1241:60: error: expected ‘>’
  1721. 1241 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1722. | ^~~
  1723. ./frameworks/native/include/binder/Parcel.h:1242:45: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1724. 1242 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1725. | ^~~~~~~~~~
  1726. ./frameworks/native/include/binder/Parcel.h:1242:40: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1727. 1242 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1728. | ^~~
  1729. ./frameworks/native/include/binder/Parcel.h:1242:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  1730. 1242 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1731. | ^
  1732. ./frameworks/native/include/binder/Parcel.h:1242:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(int)’
  1733. 1242 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1734. | ^~~~~~
  1735. ./frameworks/native/include/binder/Parcel.h:1242:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(int)’
  1736. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1737. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1738. 55 | class Parcel {
  1739. | ^~~~~~
  1740. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1741. ./frameworks/native/include/binder/Parcel.h:1246:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1742. 1246 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1743. | ^~~~~~~~~
  1744. | is_enum
  1745. ./frameworks/native/include/binder/Parcel.h:1246:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1746. 1246 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1747. | ^~~~~~~~~
  1748. | is_enum
  1749. ./frameworks/native/include/binder/Parcel.h:1246:55: error: template argument 1 is invalid
  1750. 1246 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1751. | ^
  1752. ./frameworks/native/include/binder/Parcel.h:1246:60: error: expected ‘>’ before ‘!’ token
  1753. 1246 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1754. | ^
  1755. ./frameworks/native/include/binder/Parcel.h:1247:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(const std::vector<T>&)’
  1756. 1247 | status_t Parcel::writeEnumVector(const std::vector<T>& val) {
  1757. | ^~~~~~
  1758. ./frameworks/native/include/binder/Parcel.h:1247:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(const std::vector<T>&)’
  1759. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1760. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1761. 55 | class Parcel {
  1762. | ^~~~~~
  1763. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1764. ./frameworks/native/include/binder/Parcel.h:1250:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1765. 1250 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1766. | ^~~~~~~~~
  1767. | is_enum
  1768. ./frameworks/native/include/binder/Parcel.h:1250:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1769. 1250 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1770. | ^~~~~~~~~
  1771. | is_enum
  1772. ./frameworks/native/include/binder/Parcel.h:1250:55: error: template argument 1 is invalid
  1773. 1250 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1774. | ^
  1775. ./frameworks/native/include/binder/Parcel.h:1250:60: error: expected ‘>’ before ‘!’ token
  1776. 1250 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1777. | ^
  1778. ./frameworks/native/include/binder/Parcel.h:1251:45: error: ‘optional’ in namespace ‘std’ does not name a template type
  1779. 1251 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1780. | ^~~~~~~~
  1781. ./frameworks/native/include/binder/Parcel.h:1251:40: note: ‘std::optional’ is only available from C++17 onwards
  1782. 1251 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1783. | ^~~
  1784. ./frameworks/native/include/binder/Parcel.h:1251:53: error: expected ‘,’ or ‘...’ before ‘<’ token
  1785. 1251 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1786. | ^
  1787. ./frameworks/native/include/binder/Parcel.h:1251:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(int)’
  1788. 1251 | status_t Parcel::writeEnumVector(const std::optional<std::vector<T>>& val) {
  1789. | ^~~~~~
  1790. ./frameworks/native/include/binder/Parcel.h:1251:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(int)’
  1791. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1792. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1793. 55 | class Parcel {
  1794. | ^~~~~~
  1795. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1796. ./frameworks/native/include/binder/Parcel.h:1254:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1797. 1254 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1798. | ^~~~~~~~~
  1799. | is_enum
  1800. ./frameworks/native/include/binder/Parcel.h:1254:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1801. 1254 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1802. | ^~~~~~~~~
  1803. | is_enum
  1804. ./frameworks/native/include/binder/Parcel.h:1254:55: error: template argument 1 is invalid
  1805. 1254 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1806. | ^
  1807. ./frameworks/native/include/binder/Parcel.h:1254:60: error: expected ‘>’ before ‘!’ token
  1808. 1254 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1809. | ^
  1810. ./frameworks/native/include/binder/Parcel.h:1255:45: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  1811. 1255 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1812. | ^~~~~~~~~~
  1813. ./frameworks/native/include/binder/Parcel.h:1255:40: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1814. 1255 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1815. | ^~~
  1816. ./frameworks/native/include/binder/Parcel.h:1255:55: error: expected ‘,’ or ‘...’ before ‘<’ token
  1817. 1255 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1818. | ^
  1819. ./frameworks/native/include/binder/Parcel.h:1255:10: error: no declaration matches ‘android::status_t android::Parcel::writeEnumVector(int)’
  1820. 1255 | status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
  1821. | ^~~~~~
  1822. ./frameworks/native/include/binder/Parcel.h:1255:10: note: no functions named ‘android::status_t android::Parcel::writeEnumVector(int)’
  1823. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1824. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1825. 55 | class Parcel {
  1826. | ^~~~~~
  1827. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1828. ./frameworks/native/include/binder/Parcel.h:1259:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1829. 1259 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1830. | ^~~~~~~~~
  1831. | is_same
  1832. ./frameworks/native/include/binder/Parcel.h:1259:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1833. 1259 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1834. | ^~~~~~~~~
  1835. | is_same
  1836. ./frameworks/native/include/binder/Parcel.h:1259:96: error: template argument 1 is invalid
  1837. 1259 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1838. | ^
  1839. ./frameworks/native/include/binder/Parcel.h:1259:103: error: expected ‘>’ before ‘>>’ token
  1840. 1259 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
  1841. | ^~
  1842. ./frameworks/native/include/binder/Parcel.h:1260:10: error: no declaration matches ‘android::status_t android::Parcel::readEnum(T*) const’
  1843. 1260 | status_t Parcel::readEnum(T* pArg) const {
  1844. | ^~~~~~
  1845. ./frameworks/native/include/binder/Parcel.h:1260:10: note: no functions named ‘android::status_t android::Parcel::readEnum(T*) const’
  1846. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1847. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1848. 55 | class Parcel {
  1849. | ^~~~~~
  1850. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1851. ./frameworks/native/include/binder/Parcel.h:1263:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1852. 1263 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1853. | ^~~~~~~~~
  1854. | is_same
  1855. ./frameworks/native/include/binder/Parcel.h:1263:44: error: ‘is_same_v’ is not a member of ‘std’; did you mean ‘is_same’?
  1856. 1263 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1857. | ^~~~~~~~~
  1858. | is_same
  1859. ./frameworks/native/include/binder/Parcel.h:1263:96: error: template argument 1 is invalid
  1860. 1263 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1861. | ^
  1862. ./frameworks/native/include/binder/Parcel.h:1263:103: error: expected ‘>’ before ‘>>’ token
  1863. 1263 | template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
  1864. | ^~
  1865. ./frameworks/native/include/binder/Parcel.h:1264:10: error: no declaration matches ‘android::status_t android::Parcel::readEnum(T*) const’
  1866. 1264 | status_t Parcel::readEnum(T* pArg) const {
  1867. | ^~~~~~
  1868. ./frameworks/native/include/binder/Parcel.h:1264:10: note: no functions named ‘android::status_t android::Parcel::readEnum(T*) const’
  1869. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1870. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1871. 55 | class Parcel {
  1872. | ^~~~~~
  1873. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1874. ./frameworks/native/include/binder/Parcel.h:1279:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1875. 1279 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1876. | ^~~~~~~~~
  1877. | is_enum
  1878. ./frameworks/native/include/binder/Parcel.h:1279:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1879. 1279 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1880. | ^~~~~~~~~
  1881. | is_enum
  1882. ./frameworks/native/include/binder/Parcel.h:1279:55: error: template argument 1 is invalid
  1883. 1279 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1884. | ^
  1885. ./frameworks/native/include/binder/Parcel.h:1279:60: error: expected ‘>’
  1886. 1279 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1887. | ^~~
  1888. ./frameworks/native/include/binder/Parcel.h:1280:10: error: no declaration matches ‘android::status_t android::Parcel::readEnumVector(std::vector<T>*) const’
  1889. 1280 | status_t Parcel::readEnumVector(std::vector<T>* val) const {
  1890. | ^~~~~~
  1891. ./frameworks/native/include/binder/Parcel.h:1280:10: note: no functions named ‘android::status_t android::Parcel::readEnumVector(std::vector<T>*) const’
  1892. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1893. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1894. 55 | class Parcel {
  1895. | ^~~~~~
  1896. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1897. ./frameworks/native/include/binder/Parcel.h:1285:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1898. 1285 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1899. | ^~~~~~~~~
  1900. | is_enum
  1901. ./frameworks/native/include/binder/Parcel.h:1285:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1902. 1285 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1903. | ^~~~~~~~~
  1904. | is_enum
  1905. ./frameworks/native/include/binder/Parcel.h:1285:55: error: template argument 1 is invalid
  1906. 1285 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1907. | ^
  1908. ./frameworks/native/include/binder/Parcel.h:1285:60: error: expected ‘>’
  1909. 1285 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1910. | ^~~
  1911. ./frameworks/native/include/binder/Parcel.h:1286:10: error: ‘android::status_t android::Parcel::readEnumVector’ is not a static data member of ‘class android::Parcel’
  1912. 1286 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1913. | ^~~~~~
  1914. ./frameworks/native/include/binder/Parcel.h:1286:38: error: template definition of non-template ‘android::status_t android::Parcel::readEnumVector’
  1915. 1286 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1916. | ^~~~~~~~
  1917. ./frameworks/native/include/binder/Parcel.h:1286:38: error: ‘optional’ is not a member of ‘std’
  1918. ./frameworks/native/include/binder/Parcel.h:1286:38: note: ‘std::optional’ is only available from C++17 onwards
  1919. ./frameworks/native/include/binder/Parcel.h:1286:60: error: expected primary-expression before ‘>’ token
  1920. 1286 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1921. | ^~
  1922. ./frameworks/native/include/binder/Parcel.h:1286:64: error: ‘val’ was not declared in this scope
  1923. 1286 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1924. | ^~~
  1925. ./frameworks/native/include/binder/Parcel.h:1296:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1926. 1296 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1927. | ^~~~~~~~~
  1928. | is_enum
  1929. ./frameworks/native/include/binder/Parcel.h:1296:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1930. 1296 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1931. | ^~~~~~~~~
  1932. | is_enum
  1933. ./frameworks/native/include/binder/Parcel.h:1296:55: error: template argument 1 is invalid
  1934. 1296 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1935. | ^
  1936. ./frameworks/native/include/binder/Parcel.h:1296:60: error: expected ‘>’
  1937. 1296 | template<typename T, std::enable_if_t<std::is_enum_v<T> && std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1938. | ^~~
  1939. ./frameworks/native/include/binder/Parcel.h:1297:10: error: ‘android::status_t android::Parcel::readEnumVector’ is not a static data member of ‘class android::Parcel’
  1940. 1297 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  1941. | ^~~~~~
  1942. ./frameworks/native/include/binder/Parcel.h:1297:38: error: template definition of non-template ‘android::status_t android::Parcel::readEnumVector’
  1943. 1297 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  1944. | ^~~~~~~~~~
  1945. ./frameworks/native/include/binder/Parcel.h:1297:38: error: ‘unique_ptr’ is not a member of ‘std’
  1946. ./frameworks/native/include/binder/Parcel.h:1297:38: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  1947. ./frameworks/native/include/binder/Parcel.h:1297:62: error: expected primary-expression before ‘>’ token
  1948. 1297 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  1949. | ^~
  1950. ./frameworks/native/include/binder/Parcel.h:1297:66: error: ‘val’ was not declared in this scope
  1951. 1297 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  1952. | ^~~
  1953. ./frameworks/native/include/binder/Parcel.h:1307:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1954. 1307 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1955. | ^~~~~~~~~
  1956. | is_enum
  1957. ./frameworks/native/include/binder/Parcel.h:1307:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1958. 1307 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1959. | ^~~~~~~~~
  1960. | is_enum
  1961. ./frameworks/native/include/binder/Parcel.h:1307:55: error: template argument 1 is invalid
  1962. 1307 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1963. | ^
  1964. ./frameworks/native/include/binder/Parcel.h:1307:60: error: expected ‘>’ before ‘!’ token
  1965. 1307 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1966. | ^
  1967. ./frameworks/native/include/binder/Parcel.h:1308:10: error: no declaration matches ‘android::status_t android::Parcel::readEnumVector(std::vector<T>*) const’
  1968. 1308 | status_t Parcel::readEnumVector(std::vector<T>* val) const {
  1969. | ^~~~~~
  1970. ./frameworks/native/include/binder/Parcel.h:1308:10: note: no functions named ‘android::status_t android::Parcel::readEnumVector(std::vector<T>*) const’
  1971. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1972. ./frameworks/native/include/binder/Parcel.h:55:7: note: ‘class android::Parcel’ defined here
  1973. 55 | class Parcel {
  1974. | ^~~~~~
  1975. In file included from ./frameworks/native/cmds/service/service.cpp:17:
  1976. ./frameworks/native/include/binder/Parcel.h:1311:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1977. 1311 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1978. | ^~~~~~~~~
  1979. | is_enum
  1980. ./frameworks/native/include/binder/Parcel.h:1311:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  1981. 1311 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1982. | ^~~~~~~~~
  1983. | is_enum
  1984. ./frameworks/native/include/binder/Parcel.h:1311:55: error: template argument 1 is invalid
  1985. 1311 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1986. | ^
  1987. ./frameworks/native/include/binder/Parcel.h:1311:60: error: expected ‘>’ before ‘!’ token
  1988. 1311 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  1989. | ^
  1990. ./frameworks/native/include/binder/Parcel.h:1312:10: error: ‘android::status_t android::Parcel::readEnumVector’ is not a static data member of ‘class android::Parcel’
  1991. 1312 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1992. | ^~~~~~
  1993. ./frameworks/native/include/binder/Parcel.h:1312:38: error: template definition of non-template ‘android::status_t android::Parcel::readEnumVector’
  1994. 1312 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  1995. | ^~~~~~~~
  1996. ./frameworks/native/include/binder/Parcel.h:1312:38: error: ‘optional’ is not a member of ‘std’
  1997. ./frameworks/native/include/binder/Parcel.h:1312:38: note: ‘std::optional’ is only available from C++17 onwards
  1998. ./frameworks/native/include/binder/Parcel.h:1312:60: error: expected primary-expression before ‘>’ token
  1999. 1312 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  2000. | ^~
  2001. ./frameworks/native/include/binder/Parcel.h:1312:64: error: ‘val’ was not declared in this scope
  2002. 1312 | status_t Parcel::readEnumVector(std::optional<std::vector<T>>* val) const {
  2003. | ^~~
  2004. ./frameworks/native/include/binder/Parcel.h:1315:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  2005. 1315 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  2006. | ^~~~~~~~~
  2007. | is_enum
  2008. ./frameworks/native/include/binder/Parcel.h:1315:44: error: ‘is_enum_v’ is not a member of ‘std’; did you mean ‘is_enum’?
  2009. 1315 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  2010. | ^~~~~~~~~
  2011. | is_enum
  2012. ./frameworks/native/include/binder/Parcel.h:1315:55: error: template argument 1 is invalid
  2013. 1315 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  2014. | ^
  2015. ./frameworks/native/include/binder/Parcel.h:1315:60: error: expected ‘>’ before ‘!’ token
  2016. 1315 | template<typename T, std::enable_if_t<std::is_enum_v<T> && !std::is_same_v<typename std::underlying_type_t<T>,int8_t>, bool>>
  2017. | ^
  2018. ./frameworks/native/include/binder/Parcel.h:1316:10: error: ‘android::status_t android::Parcel::readEnumVector’ is not a static data member of ‘class android::Parcel’
  2019. 1316 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  2020. | ^~~~~~
  2021. ./frameworks/native/include/binder/Parcel.h:1316:38: error: template definition of non-template ‘android::status_t android::Parcel::readEnumVector’
  2022. 1316 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  2023. | ^~~~~~~~~~
  2024. ./frameworks/native/include/binder/Parcel.h:1316:38: error: ‘unique_ptr’ is not a member of ‘std’
  2025. ./frameworks/native/include/binder/Parcel.h:1316:38: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
  2026. ./frameworks/native/include/binder/Parcel.h:1316:62: error: expected primary-expression before ‘>’ token
  2027. 1316 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  2028. | ^~
  2029. ./frameworks/native/include/binder/Parcel.h:1316:66: error: ‘val’ was not declared in this scope
  2030. 1316 | status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
  2031. | ^~~
  2032. In file included from ./system/core/libutils/include/utils/KeyedVector.h:26,
  2033. from ./frameworks/native/include/binder/ProcessState.h:21,
  2034. from ./frameworks/native/cmds/service/service.cpp:18:
  2035. ./system/core/libutils/include/utils/SortedVector.h:257:86: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  2036. 257 | UTILS_VECTOR_NO_CFI void SortedVector<TYPE>::do_construct(void* storage, size_t num) const {
  2037. | ^~~~~
  2038. ./system/core/libutils/include/utils/SortedVector.h:267:96: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  2039. 267 | UTILS_VECTOR_NO_CFI void SortedVector<TYPE>::do_copy(void* dest, const void* from, size_t num) const {
  2040. | ^~~~~
  2041. ./system/core/libutils/include/utils/SortedVector.h:272:97: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  2042. 272 | UTILS_VECTOR_NO_CFI void SortedVector<TYPE>::do_splat(void* dest, const void* item, size_t num) const {
  2043. | ^~~~~
  2044. ./system/core/libutils/include/utils/SortedVector.h:277:104: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  2045. 277 | UTILS_VECTOR_NO_CFI void SortedVector<TYPE>::do_move_forward(void* dest, const void* from, size_t num) const {
  2046. | ^~~~~
  2047. ./system/core/libutils/include/utils/SortedVector.h:282:105: error: ‘cfi’ attribute directive ignored [-Werror=attributes]
  2048. 282 | UTILS_VECTOR_NO_CFI void SortedVector<TYPE>::do_move_backward(void* dest, const void* from, size_t num) const {
  2049. | ^~~~~
  2050. In file included from ./system/core/libutils/include/utils/RefBase.h:186,
  2051. from ./frameworks/native/include/binder/Parcel.h:28,
  2052. from ./frameworks/native/cmds/service/service.cpp:17:
  2053. ./system/core/libutils/include/utils/TypeHelpers.h: In instantiation of ‘typename std::enable_if<android::use_trivial_move<TYPE>::value>::type android::move_forward_type(TYPE*, const TYPE*, size_t) [with TYPE = android::String16; typename std::enable_if<android::use_trivial_move<TYPE>::value>::type = void; size_t = long unsigned int]’:
  2054. ./system/core/libutils/include/utils/Vector.h:418:22: required from ‘void android::Vector<TYPE>::do_move_forward(void*, const void*, size_t) const [with TYPE = android::String16; size_t = long unsigned int]’
  2055. ./system/core/libutils/include/utils/Vector.h:417:26: required from here
  2056. ./system/core/libutils/include/utils/TypeHelpers.h:198:12: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class android::String16’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
  2057. 198 | memmove(d, s, n*sizeof(TYPE));
  2058. | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  2059. In file included from ./frameworks/native/include/binder/Parcel.h:29,
  2060. from ./frameworks/native/cmds/service/service.cpp:17:
  2061. ./system/core/libutils/include/utils/String16.h:39:7: note: ‘class android::String16’ declared here
  2062. 39 | class String16
  2063. | ^~~~~~~~
  2064. In file included from ./system/core/libutils/include/utils/RefBase.h:186,
  2065. from ./frameworks/native/include/binder/Parcel.h:28,
  2066. from ./frameworks/native/cmds/service/service.cpp:17:
  2067. ./system/core/libutils/include/utils/TypeHelpers.h: In instantiation of ‘typename std::enable_if<android::use_trivial_move<TYPE>::value>::type android::move_backward_type(TYPE*, const TYPE*, size_t) [with TYPE = android::String16; typename std::enable_if<android::use_trivial_move<TYPE>::value>::type = void; size_t = long unsigned int]’:
  2068. ./system/core/libutils/include/utils/Vector.h:423:23: required from ‘void android::Vector<TYPE>::do_move_backward(void*, const void*, size_t) const [with TYPE = android::String16; size_t = long unsigned int]’
  2069. ./system/core/libutils/include/utils/Vector.h:422:26: required from here
  2070. ./system/core/libutils/include/utils/TypeHelpers.h:225:12: error: ‘void* memmove(void*, const void*, size_t)’ writing to an object of type ‘class android::String16’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
  2071. 225 | memmove(d, s, n*sizeof(TYPE));
  2072. | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
  2073. In file included from ./frameworks/native/include/binder/Parcel.h:29,
  2074. from ./frameworks/native/cmds/service/service.cpp:17:
  2075. ./system/core/libutils/include/utils/String16.h:39:7: note: ‘class android::String16’ declared here
  2076. 39 | class String16
  2077. | ^~~~~~~~
  2078. cc1plus: all warnings being treated as errors
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement