Classe abstraite Field qui declare une methode RESULT Read(const unsigned char* pBuffer, const size_t stBufferSize, size_t &stSizeRead)
IntegerField: Classe derivee de Field -> Integer qui implemente support pour les petits et grands indiens et offre un parametre pour decider
Classe derivee de IntegerField (tu fais un template en 5 minutes) pour chaque entier de 8 a 64bit
Classe String derivee de Field qui gere Unicode/UTF8/ANSI
Classe "Buffer" derivee de Field qui gere des buffers quelconques
Classe Container derivee de Field qui est un container(permet d'y ajouter des champs a l'interieur, et la methode read va de l'un a l'autre)
Classe BitField derivee de Container qui permet d'inclure des IntegerField, specifier combien de bits sont assignes a chaque IntegerField, et dont la methode Read s'occupe de passer la valeur qu'il faut a coup de masque a chaque champ
Une fois que t'as fait ca, ben c'est fini, t'as plus qu'a construire ta structure avec ces objets et c'est regle. Tu peux meme t'amuser a ajouter les dependances entre champs apres (genre tu specifies que la longueur de ce champs texte est la valeur du champs d'avant, les checksums, etc...) voire la compression/encryption des champs.
Le jour ou t'as un champs totalement different, suffit de rajouter l'objet qui le represente.
Je t'assures que ca fonctionne tres tres bien, j'ai cree un systeme de ce type il y a des annees, et je l'utilises quasiment tous les jours, il represente sans problemes des formats plutot complexes(mp3, PNG, etc...) et cela assez facilement
# Mini-framework
Posté par pasBill pasGates . En réponse au message Manipulation rapide et légère de données structurées binaires. Évalué à 2.
IntegerField: Classe derivee de Field -> Integer qui implemente support pour les petits et grands indiens et offre un parametre pour decider
Classe derivee de IntegerField (tu fais un template en 5 minutes) pour chaque entier de 8 a 64bit
Classe String derivee de Field qui gere Unicode/UTF8/ANSI
Classe "Buffer" derivee de Field qui gere des buffers quelconques
Classe Container derivee de Field qui est un container(permet d'y ajouter des champs a l'interieur, et la methode read va de l'un a l'autre)
Classe BitField derivee de Container qui permet d'inclure des IntegerField, specifier combien de bits sont assignes a chaque IntegerField, et dont la methode Read s'occupe de passer la valeur qu'il faut a coup de masque a chaque champ
Une fois que t'as fait ca, ben c'est fini, t'as plus qu'a construire ta structure avec ces objets et c'est regle. Tu peux meme t'amuser a ajouter les dependances entre champs apres (genre tu specifies que la longueur de ce champs texte est la valeur du champs d'avant, les checksums, etc...) voire la compression/encryption des champs.
Le jour ou t'as un champs totalement different, suffit de rajouter l'objet qui le represente.
Je t'assures que ca fonctionne tres tres bien, j'ai cree un systeme de ce type il y a des annees, et je l'utilises quasiment tous les jours, il represente sans problemes des formats plutot complexes(mp3, PNG, etc...) et cela assez facilement