int main(int argc, char** argv) { unique_ptr<CObjectIStream> in(CObjectIStream::Open(eSerial_AsnText, "seq-entry-sample.asn")); unique_ptr<CObjectOStream> out(CObjectOStream::Open(eSerial_AsnText, "seq-entry-sample_output.asn")); CObjectStreamCopier copier(*in, *out); CObjectTypeInfo(CType<CSeq_annot>()) .SetLocalCopyHook(copier, new CDemoHook()); copier.Copy(CType<CSeq_entry>()); return 0; }
int main(int argc, char** argv) { auto_ptr<CObjectIStream> in(CObjectIStream::Open(eSerial_AsnText, "if")); auto_ptr<CObjectOStream> out(CObjectOStream::Open(eSerial_AsnText, "of")); CObjectStreamCopier copier(*in, *out); CObjectTypeInfo(CType<CBioseq>()) .FindMember("annot") .SetLocalCopyHook(copier, new CDemoHook()); copier.Copy(CType<CBioseq>()); return 0; }
int main(int argc, char** argv) { auto_ptr<CObjectIStream> in(CObjectIStream::Open(eSerial_AsnText, "if")); auto_ptr<CObjectOStream> out(CObjectOStream::Open(eSerial_AsnText, "of")); CObjectTypeInfo typeInfo = CType<CAuth_list>(); CObjectTypeInfoMI memberInfo = typeInfo.FindMember("names"); CObjectTypeInfoVI variantInfo = (*memberInfo).GetPointedType() .FindVariant("std"); variantInfo.SetLocalWriteHook(*out, new CDemoHook); (*CObjectTypeInfo(CType<CAuth_list>()).FindMember("names")) .GetPointedType() .FindVariant("std") .SetLocalWriteHook(*out, new CDemoHook); CCit_art article; *in >> article; *out << article; return 0; }