#include #include #include "memory_chunk.h" // Test Memory Chunk Functionality int main(int argc, char * argv[]){ MemoryChunk* chunk; chunk = new MemoryChunk(); int i = 12; chunk->set_content(0, &i, sizeof(int)); int * p = (int *)chunk->begin(); assert(chunk->size() == sizeof(int)); std::cout<<*p<capacity()<set_chunk(p, sizeof(int), NULL); short t = 5; chunk->set_content(sizeof(int), &t, sizeof(short)); assert( sizeof(int) + sizeof(short) == chunk->size()); std::cout<capacity()<begin(); short * p2 =(short *)(((char *) (chunk->begin())) + sizeof(int)); std::cout<<*p<<'\t'<<*p2<set_content(sizeof(int) + sizeof(short), &t, sizeof(short)); assert( sizeof(int) + (sizeof(short) << 1) == chunk->size()); std::cout<capacity()<begin(); p2 =(short *)(((char *) (chunk->begin())) + sizeof(int)); std::cout<<*p<<'\t'<<*p2<<'\t'<<*(p2 + 1)<set_size(sizeof(int) + sizeof(short) *3); p = (int *)chunk->begin(); p2 =(short *)(((char *) (chunk->begin())) + sizeof(int)); chunk->set_content(0, &i, sizeof(int)); *(p2+2) = 3; std::cout<<*p<<'\t'<<*p2<<'\t'<<*(p2 + 1)<<'\t'<<*(p2+2)<set_chunk(&m, sizeof(int), NULL); int n = 12; chunk->insert_content(sizeof(int), &n, sizeof(int)); n = 11; chunk->insert_content(sizeof(int), &n, sizeof(int)); int * p3 = (int *)chunk->begin(); std::cout<<*p3<<'\t'<<*(p3+1)<<'\t'<<*(p3+2)<remove_content(sizeof(int), sizeof(int)); std::cout<<*p3<<'\t'<<*(p3+1)<get_content(sizeof(int), &tmp, sizeof(int))); std::cout<load(filename); if ( !retval ){ std::cerr<<"can't find chunk"<begin(), strlen(version) + 1) == 0){ std::cout<<"match"<set_content(0, version, strlen(version) + 1); chunk->save(filename); retval = chunk->load(filename); if ( !retval ){ std::cerr<<"can't find chunk"<begin(), strlen(version) + 1) == 0){ std::cout<<"match"<