@@ -29,7 +29,11 @@ Within cbmc, strings are represented using \ref irep_idt, or \ref irep_namet
2929for keys to [ named_sub] (\ref irept::dt::named_sub) or
3030[ comments] (\ref irept::dt::comments). By default these are both
3131typedefed to \ref dstringt. For debugging purposes you can set ` USE_STD_STRING ` ,
32- in which case they are both typedefed to ` std::string ` .
32+ in which case they are both typedefed to ` std::string ` . You can also easily
33+ convert an [ irep_idt] (\ref irep_idt) or [ irep_namet] (\ref irep_namet) to a
34+ ` std::string ` using the [ id2string] (\ref id2string) or
35+ [ name2string] (\ref name2string) functions, respectively, or either of them to a
36+ ` char* ` using the [ c_str()] (\ref dstringt::c_str) member function.
3337
3438\ref dstringt stores a string as an index into a large
3539static table of strings. This makes it easy to compare if two
@@ -41,7 +45,7 @@ You can refer to this \ref irep_idt as `ID_type`. The other kind of line you
4145see is ` “IREP_ID_TWO(C_source_location, #source_location)” ` , which means the
4246\ref irep_idt for the string “#source_location” can be referred to as
4347` ID_C_source_location ` . The “C” is for comment, meaning that it should be
44- stored in the ( [ comments] (\ref irept::dt::comments). Any strings that need
48+ stored in the [ comments] (\ref irept::dt::comments). Any strings that need
4549to be stored as [ irep_idt] (\ref irep_idt)s which aren't in ` irep_ids.def `
4650are added to the end of the table when they are first encountered, and the
4751same index is used for all instances.
0 commit comments