Пример #1
0
/* Save a member */
decl_mem( struct_name, decl ) {
    auto *e = lookup_tab( structtab, 32, struct_name ); 
        /* sizeof(struct_entry) */

    if (!e) int_error("No such struct found '%s'", struct_name);
    if (e[3]) int_error("Struct '%s' is sealed", struct_name);

    /* TODO:  We need to pack members a bit better than this.
     * { char a, b, c; }  has size 4, not 12. */
    save_sym( &e[5], decl, e[1], 0 );
    e[1] += promote_sz( type_size( decl[2] ) );
}
Пример #2
0
 void IrrepSpace::Save(std::ofstream &ofs) 
 {
   boost::archive::binary_oarchive save_sym(ofs);
   save_sym << *this;
 }