Loading libs/binder/include/binder/Parcel.h +12 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,8 @@ public: template<typename T> status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val); template<typename T> status_t writeParcelableVector(const std::shared_ptr<std::vector<std::optional<T>>>& val); template<typename T> status_t writeParcelableVector(const std::vector<T>& val); template<typename T> Loading Loading @@ -1229,6 +1231,16 @@ status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::un return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable); } template<typename T> status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::optional<T>>>& val) { if (val.get() == nullptr) { return this->writeInt32(-1); } using NullableT = std::optional<T>; return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable); } template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>> status_t Parcel::writeEnum(const T& val) { return writeInt32(static_cast<int32_t>(val)); Loading Loading
libs/binder/include/binder/Parcel.h +12 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,8 @@ public: template<typename T> status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val); template<typename T> status_t writeParcelableVector(const std::shared_ptr<std::vector<std::optional<T>>>& val); template<typename T> status_t writeParcelableVector(const std::vector<T>& val); template<typename T> Loading Loading @@ -1229,6 +1231,16 @@ status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::un return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable); } template<typename T> status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::optional<T>>>& val) { if (val.get() == nullptr) { return this->writeInt32(-1); } using NullableT = std::optional<T>; return unsafeWriteTypedVector<NullableT, const NullableT&>(*val, &Parcel::writeNullableParcelable); } template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>> status_t Parcel::writeEnum(const T& val) { return writeInt32(static_cast<int32_t>(val)); Loading