Boostez la spécification de format de serialization binary

Oui, je sais, datatables sérialisées produites par boost ne sont destinées qu'à l'usage interne de la bibliothèque et ne doivent pas être lues par des tiers. Cependant, je me trouve dans une position où je dois imiter datatables sérialisées binarys provenant de .NET (std :: vector des POD minuscules) qui seraient désérialisées plus tard par boost (C ++ native). L'interopérabilité CLI / C ++ avec boost natif n'est pas possible car l'assembly doit être pur CLR. Est-ce faisable? juste pour écrire la bonne séquence d'octets? Y a-t-il des spécifications de format binary? Je n'ai pas trouvé.

EDIT001: Un peu d'arrière-plan: j'ai une table dans une database, des centaines de millions de lignes. chaque ligne se compose de deux ID – ID d'entité, ID d'entité mère et colonne supplémentaire pour datatables d'entité (toutes datatables d'entité sous la forme de JSON, mais cela n'a pas d'importance, je ne peux pas le changer). Maintenant, dans le C ++ natif, je dois sélectionner des entités par ID parent pour get toutes les entités, cela donnerait (parfois) 5M lignes, car on peut supposer qu'il faudra des time pour interroger, recevoir, itérer, parsingr et charger en vector des structures C ++. J'ai donc testé si j'ai ma propre table avec l'ID parent comme PK et une colonne avec toutes les entités appartenant à cet ID binary sérialisé. Le résultat (à part le transfert de données sur le réseau, etc.) je peux parsingr (en fait, booster) dans ~ 400ms ce qui n'est pas très rapide mais assez bon pour moi. Maintenant, comment puis-je get ma table avec des données binarys? Évidemment, l'équipe DBA ne peut pas aider ici, ils ne connaissent rien au format binary boost, donc j'ai eu recours à la fonction CLR définie par l'user qui DOIT être implémentée en tant que CLR "pur". cette fonction UDF est supposée être appelée à partir d'une procédure stockée qui remplit la table avec des entités individuelles et finit par les parcourir et créer un volume binary. Mais comment puis-je imiter le format binary boost si je ne peux pas appeler boost (CLI / C ++) dans mon assemblage ???