Lines Matching refs:T
46 template <typename T> class Flattenable;
47 template <typename T> class LightFlattenable;
167 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>
168 status_t writeEnumVector(const std::vector<T>& val);
169 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>
170 status_t writeEnumVector(const std::unique_ptr<std::vector<T>>& val);
172 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>
173 status_t writeEnumVector(const std::vector<T>& val);
174 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>
175 status_t writeEnumVector(const std::unique_ptr<std::vector<T>>& val);
177 template<typename T>
178 status_t writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val);
179 template<typename T>
180 status_t writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val);
181 template<typename T>
182 status_t writeParcelableVector(const std::vector<T>& val);
184 template<typename T>
185 status_t writeNullableParcelable(const std::unique_ptr<T>& parcelable);
189 template<typename T>
190 status_t write(const Flattenable<T>& val);
192 template<typename T>
193 status_t write(const LightFlattenable<T>& val);
195 template<typename T>
196 status_t writeVectorSize(const std::vector<T>& val);
197 template<typename T>
198 status_t writeVectorSize(const std::unique_ptr<std::vector<T>>& val);
299 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>
300 status_t readEnumVector(std::vector<T>* val) const;
301 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>
302 status_t readEnumVector(std::unique_ptr<std::vector<T>>* val) const;
304 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>
305 status_t readEnumVector(std::vector<T>* val) const;
306 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>
307 status_t readEnumVector(std::unique_ptr<std::vector<T>>* val) const;
309 template<typename T>
311 std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const;
312 template<typename T>
313 status_t readParcelableVector(std::vector<T>* val) const;
317 template<typename T>
318 status_t readParcelable(std::unique_ptr<T>* parcelable) const;
320 template<typename T>
321 status_t readStrongBinder(sp<T>* val) const;
323 template<typename T>
324 status_t readNullableStrongBinder(sp<T>* val) const;
354 template<typename T>
355 status_t read(Flattenable<T>& val) const;
357 template<typename T>
358 status_t read(LightFlattenable<T>& val) const;
360 template<typename T>
361 status_t resizeOutVector(std::vector<T>* val) const;
362 template<typename T>
363 status_t resizeOutVector(std::unique_ptr<std::vector<T>>* val) const;
364 template<typename T>
365 status_t reserveOutVector(std::vector<T>* val, size_t* size) const;
366 template<typename T>
367 status_t reserveOutVector(std::unique_ptr<std::vector<T>>* val,
466 template<class T>
467 status_t readAligned(T *pArg) const;
469 template<class T> T readAligned() const;
471 template<class T>
472 status_t writeAligned(T val);
477 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
478 status_t writeEnum(const T& val);
479 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
480 status_t writeEnum(const T& val);
482 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool> = 0>
483 status_t readEnum(T* pArg) const;
484 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool> = 0>
485 status_t readEnum(T* pArg) const;
488 template<typename T>
489 status_t readByteVectorInternal(std::vector<T>* val, size_t size) const;
491 template<typename T, typename U>
492 status_t unsafeReadTypedVector(std::vector<T>* val,
494 template<typename T>
495 status_t readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
496 status_t(Parcel::*read_func)(T*) const) const;
497 template<typename T>
498 status_t readTypedVector(std::vector<T>* val,
499 status_t(Parcel::*read_func)(T*) const) const;
500 template<typename T, typename U>
501 status_t unsafeWriteTypedVector(const std::vector<T>& val,
503 template<typename T>
504 status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
505 status_t(Parcel::*write_func)(const T&));
506 template<typename T>
507 status_t writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
508 status_t(Parcel::*write_func)(T));
509 template<typename T>
510 status_t writeTypedVector(const std::vector<T>& val,
511 status_t(Parcel::*write_func)(const T&));
512 template<typename T>
513 status_t writeTypedVector(const std::vector<T>& val,
514 status_t(Parcel::*write_func)(T));
579 // specified class T implementing the Flattenable protocol. It "virtualizes" a compile-time
581 template<typename T>
584 const Flattenable<T>& val;
585 explicit FlattenableHelper(const Flattenable<T>& _val) : val(_val) { }
600 return const_cast<Flattenable<T>&>(val).unflatten(buffer, size, fds, count);
631 template<typename T>
632 status_t Parcel::write(const Flattenable<T>& val) {
633 const FlattenableHelper<T> helper(val);
637 template<typename T>
638 status_t Parcel::write(const LightFlattenable<T>& val) {
658 template<typename T>
659 status_t Parcel::read(Flattenable<T>& val) const {
660 FlattenableHelper<T> helper(val);
664 template<typename T>
665 status_t Parcel::read(LightFlattenable<T>& val) const {
685 template<typename T>
686 status_t Parcel::writeVectorSize(const std::vector<T>& val) {
693 template<typename T>
694 status_t Parcel::writeVectorSize(const std::unique_ptr<std::vector<T>>& val) {
702 template<typename T>
703 status_t Parcel::resizeOutVector(std::vector<T>* val) const {
717 template<typename T>
718 status_t Parcel::resizeOutVector(std::unique_ptr<std::vector<T>>* val) const {
727 val->reset(new std::vector<T>(size_t(size)));
733 template<typename T>
734 status_t Parcel::reserveOutVector(std::vector<T>* val, size_t* size) const {
749 template<typename T>
750 status_t Parcel::reserveOutVector(std::unique_ptr<std::vector<T>>* val,
760 val->reset(new std::vector<T>());
769 template<typename T>
770 status_t Parcel::readStrongBinder(sp<T>* val) const {
775 *val = interface_cast<T>(tmp);
785 template<typename T>
786 status_t Parcel::readNullableStrongBinder(sp<T>* val) const {
791 *val = interface_cast<T>(tmp);
801 template<typename T, typename U>
803 std::vector<T>* val,
837 template<typename T>
838 status_t Parcel::readTypedVector(std::vector<T>* val,
839 status_t(Parcel::*read_func)(T*) const) const {
843 template<typename T>
844 status_t Parcel::readNullableTypedVector(std::unique_ptr<std::vector<T>>* val,
845 status_t(Parcel::*read_func)(T*) const) const {
856 val->reset(new std::vector<T>());
867 template<typename T, typename U>
868 status_t Parcel::unsafeWriteTypedVector(const std::vector<T>& val,
891 template<typename T>
892 status_t Parcel::writeTypedVector(const std::vector<T>& val,
893 status_t(Parcel::*write_func)(const T&)) {
897 template<typename T>
898 status_t Parcel::writeTypedVector(const std::vector<T>& val,
899 status_t(Parcel::*write_func)(T)) {
903 template<typename T>
904 status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
905 status_t(Parcel::*write_func)(const T&)) {
913 template<typename T>
914 status_t Parcel::writeNullableTypedVector(const std::unique_ptr<std::vector<T>>& val,
915 status_t(Parcel::*write_func)(T)) {
923 template<typename T>
924 status_t Parcel::readParcelableVector(std::vector<T>* val) const {
925 return unsafeReadTypedVector<T, Parcelable>(val, &Parcel::readParcelable);
928 template<typename T>
929 status_t Parcel::readParcelableVector(std::unique_ptr<std::vector<std::unique_ptr<T>>>* val) const {
940 val->reset(new std::vector<std::unique_ptr<T>>());
942 status = unsafeReadTypedVector(val->get(), &Parcel::readParcelable<T>);
951 template<typename T>
952 status_t Parcel::readParcelable(std::unique_ptr<T>* parcelable) const {
963 parcelable->reset(new T());
974 template<typename T>
975 status_t Parcel::writeNullableParcelable(const std::unique_ptr<T>& parcelable) {
979 template<typename T>
980 status_t Parcel::writeParcelableVector(const std::vector<T>& val) {
981 return unsafeWriteTypedVector<T,const Parcelable&>(val, &Parcel::writeParcelable);
984 template<typename T>
985 status_t Parcel::writeParcelableVector(const std::unique_ptr<std::vector<std::unique_ptr<T>>>& val) {
990 return unsafeWriteTypedVector(*val, &Parcel::writeNullableParcelable<T>);
993 template<typename T>
994 status_t Parcel::writeParcelableVector(const std::shared_ptr<std::vector<std::unique_ptr<T>>>& val) {
999 return unsafeWriteTypedVector(*val, &Parcel::writeNullableParcelable<T>);
1002 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
1003 status_t Parcel::writeEnum(const T& val) {
1006 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
1007 status_t Parcel::writeEnum(const T& val) {
1011 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>>
1012 status_t Parcel::writeEnumVector(const std::vector<T>& val) {
1015 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>>
1016 status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
1020 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>>
1021 status_t Parcel::writeEnumVector(const std::vector<T>& val) {
1024 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>>
1025 status_t Parcel::writeEnumVector(const std::unique_ptr<std::vector<T>>& val) {
1029 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int32_t>, bool>>
1030 status_t Parcel::readEnum(T* pArg) const {
1033 template<typename T, std::enable_if_t<std::is_same_v<typename std::underlying_type_t<T>,int64_t>, bool>>
1034 status_t Parcel::readEnum(T* pArg) const {
1038 template<typename T>
1039 inline status_t Parcel::readByteVectorInternal(std::vector<T>* val, size_t size) const {
1042 const T* data = reinterpret_cast<const T*>(readInplace(size));
1049 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>>
1050 status_t Parcel::readEnumVector(std::vector<T>* val) const {
1055 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>>
1056 status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {
1066 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>>
1067 status_t Parcel::readEnumVector(std::vector<T>* val) const {
1070 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>>
1071 status_t Parcel::readEnumVector(std::unique_ptr<std::vector<T>>* val) const {