Hi Greg, Thank you for the quick answer. I will go ahead to implement a pass to remove the redundancy in the list.
Thanks, Yin -----Original Message----- From: Greg Clayton [mailto:[email protected]] Sent: Tuesday, November 05, 2013 9:52 AM To: Yin Ma Cc: lldb-dev Subject: Re: [lldb-dev] Help on the way to retrieve header file list No. But you can take advantage of the fact that the basenames and directories returned from the SBFileSpec are uniqued C strings: const char * SBFileSpec::GetFilename() const; const char * SBFileSpec::GetDirectory() const; So you might be able to use that to your advantage to help you unique these files into a std::set: typedef std::set<std::pair<const char *, const char *>> PathSet; PathSet unique_paths; Then you can run through all files and do: for (SBFileSpec cu_file : ...) { unique_paths.insert(std::make_pair(cu_file.GetDirectory(), cu_file.GetFilename())); for (SBFileSpec support_file : ...) unique_paths.insert(std::make_pair(support_file.GetDirectory(), support_file.GetFilename())); } This should solve your problem for you? Greg On Nov 5, 2013, at 8:14 AM, Yin Ma <[email protected]> wrote: > Hi > > I am using module GetCompileUnitAtIndex to retrieve > Compilation unit. If I directly print Compile_unit.file > I can get all .c filenames without any .h filename. > If I use GetSupportFileAtIndex() to retrieve all supportfiles > And print out. I can get .h filename however, there > Are a lot of duplication. > > Is there any better way to print all .c and .h filenames without > Duplication? > > Thanks, > > Yin > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
