Protokol arabellek kütüphanesinde yinelenen alan olarak belirtilen dizinin sıralanmasına izin veren bir uygulama var mı? Örneğin dizi, dizi öğelerinin sıralanması gereken bir dizin alanı içeren bir türden öğeler içerdiğini varsayalım. Bunu bulamadım, tahminimce kendim yazmam gerekecek. Sadece onaylamak istedim. Teşekkürler.Öğeleri bir iletinin tekrarlanan alanına yerleştirme Google Protokol Arabellekleri
8
A
cevap
8
Protobufs, std :: sort() şablonuyla sıralanabilen mutable_ * yöntemleriyle bir RepeatedPtr arabirimi sağlar.
Yinelenen alanın temel türü basit değilse, büyük olasılıkla aşırı yüklenen bir operatör <, karşılaştırıcı veya lambda kullanmak isteyeceksiniz. Bir lambda kullanan bir oyuncak örneği:
message StaffMember {
optional string name = 1;
optional double hourly_rate = 2;
}
message StoreData {
repeated StaffMember staff = 1;
}
StoreData store;
// Reorder the list of staff by pay scale
std::sort(store->mutable_staff()->begin(),
store->mutable_staff()->end(),
[](const StaffMember& a, const StaffMember& b){
return a.hourly_rate() < b.hourly_rate();
});
İlgili konular
- 1. Protokol arabellekleri nasıl kullanılır?
- 2. Boost.Asio, google protokol arabellekleriyle
- 3. Google Protokolü Arabellekleri - Sabit boyutlu arabellek?
- 4. Arduino'da Google 'Protokol Tamponları'nı Kullanma
- 5. Hata golang google protokol arabelleği
- 6. Bina için Makefile C++ Google Protokolü Arabellekleri Projesi
- 7. google yerleri liste öğeleri
- 8. Sırasıyla tekrarlanan öğeleri python'da değişmeden tutmaktan nasıl silinir?
- 9. Bir harita yerleştirme verileri verilerine dayalı olarak bir Google haritaları ısı haritası yerleştirme
- 10. protokol uzantısı, protokol
- 11. İşaretleyicileri Google Map ile yerleştirme Django ile
- 12. .Net Control Google Chrome Yerleştirme yapmak
- 13. Node.js arabellekleri nerede saklar?
- 14. Tekrarlanan diziyi
- 15. Gönderilen bir iletinin git yorumu değişiyor
- 16. , arabellekleri olabildiğince hızlı bir şekilde karşılaştırır.
- 17. Çocukları siteye yerleştirme
- 18. bir resmin üzerine bir div yerleştirme
- 19. Python'da tekrarlanan bir protobuf alanından bir öğeyi nasıl kaldırabilirim?
- 20. Protokol Tamponları'nda getSerializedSize() 'nın performans cezası
- 21. Protokol, Swift'de bir enum içerdiğinde protokol uyumluluğunu kontrol edin.
- 22. java.net.MalformedURLException: bilinmeyen protokol: rsrc
- 23. UILocalNotification sayımı Tekrarlanan Bildirim
- 24. Instagram, yerleştirme dinamik olarak yerleştirme sırasında çalışmaz.
- 25. Swift protokol - tipi bir şartı
- 26. Google Play uygulama öğeleri şifrelemesi hakkında sorular
- 27. PDO_OCI - bir clob alanına
- 28. Nasıl bir metin alanına
- 29. Bellek içine bir dll yerleştirme
- 30. Tablonun içine bir yönerge yerleştirme
Bu sadece ... * protobuf'un işi değildir *; Verilerin sıralanmasını istiyorsanız, sıralamanızı * sırala * seri hale getiriciye yaklaşırsınız. Seri hale getiricinin işi, verileri bayt ve tekrar elde etmek, sipariş gibi anlamlarını korumaktır. –
@MarcGravell, aslında uygulama kodumda aynı verinin bir kopyasını yapmak ve sonra protobuf içine boşaltmak zorunda kalmamayı umuyordum, ama sanırım sıralamak zorunda kalacağım. Teşekkürler. – AarCee