
Hi, I'm switching from a home-grown graph library to BGL (for creating control flow graphs and callgraphs of program binaries). I must not be using BGL correctly because I keep running out of memory (I'm running FC4 with 1GB). For example, given the following simple program: int main(int argc, char *argv[]) { // create a typedef for the Graph type typedef adjacency_list<vecS, vecS, bidirectionalS> Graph; unsigned int *array; array = new unsigned int[50]; unsigned int i; for(i = 0; i < 50; i++){ array[i] = i + 0x8000000; } // writing out the edges in the graph Graph g; for(i = 0; i < 50; i++){ add_edge(array[i % 50], array[ (i+1) % 50], g); } } And the error I get is: [dbrumley@localhost ~/tmp]$ ./a.out terminate called after throwing an instance of 'std::bad_alloc' what(): St9bad_alloc Abort which is caused by new/new[] throwing an exception on the add_edge line. What am I doing wrong here? I would like to index each node in the graph by its address, which is in the range 0x8000000-0xffffffff. (I would rather not keep a separate index in the range 0-num(verticies)). Thanks, David