C++26 reflection ile otomatik packet kaydı

  • Konuyu açan Konuyu açan Larry Watterson
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 93

Larry Watterson

Üye
Üye
Mesaj
43
Çözümler
1
Beğeni
142
Puan
699
Ticaret Puanı
0
Uzun lafın kısası normal şartlarda her yeni packet eklediğinizde cpacketınfocg'nun ctorundan "set" member functionunu çağırmanız lazım, unuttuğunuz taktirde Runtime'da packet hatası falan alırsınız. Bu arkadaş sayesinde yeni packetlerinize annotation eklemeniz yeterli olacak, compile-time'da array üretilecek. İşte buna ek olarak padding var mı yok mu annotation var mı yok mu vb. Kontrollerde sağlayabilirsiniz.

Sorularınız olursa yorumda belirtin müsait oldukça cevaplarım.

Not: C++26'ya henüz yeni çalışmaya başladım, paper okurken bunu yapmak aklıma geldi. Henüz pek aşikar değilim o sebepten daha farklı kullanım senaryoları olabilir, varsa bildiğiniz belirtebilirsiniz.

C++26 - gcc16 ihtiyacınız var aksi halde çalışmayacaktır, aklınızı kullanarak farklı şeylere de evirebilirsiniz.

Mock:

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.


Refl namespace gist:

Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
 
En son bir moderatör tarafından düzenlenmiş:
Site içeriğine sunduğunuz katkılarınız için teşekkür ederim. Ancak kurallarımız gereği ve içerik materyallerin gelecekte sağlam kalması için bu tarz kısa kod kodları sitemizin kod bloğuna da ekleyiniz. Harici bağlantılarınıza ek olarak kodlar içeriğinize dahil edilmiştir
 
Geri
Üst