Skip to content

Commit b300317

Browse files
committed
Document dstring to string conversions
Just using the conversion functions on demand can be more convenient for debugging than setting USE_STD_STRING, so both should be documented here.
1 parent dbd6988 commit b300317

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/util/README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,11 @@ Within cbmc, strings are represented using \ref irep_idt, or \ref irep_namet
2929
for keys to [named_sub](\ref irept::dt::named_sub) or
3030
[comments](\ref irept::dt::comments). By default these are both
3131
typedefed 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) function, 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
3539
static 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
4145
see 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
4549
to be stored as [irep_idt](\ref irep_idt)s which aren't in `irep_ids.def`
4650
are added to the end of the table when they are first encountered, and the
4751
same index is used for all instances.

0 commit comments

Comments
 (0)