| 671 | } |
| 672 | |
| 673 | das_program * das_program_deserialize ( const void * data, int64_t size ) { |
| 674 | auto * storage = new SerializationStorageVector(); |
| 675 | storage->buffer.assign((const uint8_t *)data, (const uint8_t *)data + size); |
| 676 | ProgramPtr program; |
| 677 | { |
| 678 | AstSerializer deser(storage, false); // writing = false |
| 679 | program = make_smart<Program>(); |
| 680 | program->serialize(deser); |
| 681 | deser.moduleLibrary = nullptr; |
| 682 | } |
| 683 | delete storage; |
| 684 | return (das_program *) program.orphan(); |
| 685 | } |
| 686 | |
| 687 | void das_serialized_data_release ( das_serialized_data * blob ) { |
| 688 | if ( blob ) delete (SerializationStorageVector *) blob; |