diff --git a/api/stats/rtc_stats.h b/api/stats/rtc_stats.h index 044fadab51..5f5bb41658 100644 --- a/api/stats/rtc_stats.h +++ b/api/stats/rtc_stats.h @@ -387,7 +387,7 @@ WEBRTC_DECLARE_RTCSTATSMEMBER(std::vector); // Using inheritance just so that it's obvious from the member's declaration // whether it's standardized or not. template -class RTC_EXPORT RTCNonStandardStatsMember : public RTCStatsMember { +class RTCNonStandardStatsMember : public RTCStatsMember { public: explicit RTCNonStandardStatsMember(const char* name) : RTCStatsMember(name) {} @@ -401,8 +401,8 @@ class RTC_EXPORT RTCNonStandardStatsMember : public RTCStatsMember { explicit RTCNonStandardStatsMember(const RTCNonStandardStatsMember& other) : RTCStatsMember(other), group_ids_(other.group_ids_) {} explicit RTCNonStandardStatsMember(RTCNonStandardStatsMember&& other) - : group_ids_(std::move(other.group_ids_)), - RTCStatsMember(std::move(other)) {} + : RTCStatsMember(std::move(other)), + group_ids_(std::move(other.group_ids_)) {} bool is_standardized() const override { return false; } @@ -418,6 +418,36 @@ class RTC_EXPORT RTCNonStandardStatsMember : public RTCStatsMember { private: std::vector group_ids_; }; + +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; +extern template class RTC_EXPORT_TEMPLATE_DECLARE(RTC_EXPORT) + RTCNonStandardStatsMember>; + } // namespace webrtc #endif // API_STATS_RTC_STATS_H_ diff --git a/stats/rtc_stats.cc b/stats/rtc_stats.cc index 92f64e4654..d0a86531ed 100644 --- a/stats/rtc_stats.cc +++ b/stats/rtc_stats.cc @@ -231,4 +231,33 @@ WEBRTC_DEFINE_RTCSTATSMEMBER(std::vector, VectorOfStringsToString(value_), VectorOfStringsToString(value_)); +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; +template class RTC_EXPORT_TEMPLATE_DEFINE(RTC_EXPORT) + RTCNonStandardStatsMember>; + } // namespace webrtc