CBMC
dstring.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Container for C-Strings
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #include "dstring.h"
13 
14 std::ostream &dstringt::operator<<(std::ostream &out) const
15 {
16  return out << as_string();
17 }
18 
19 dstringt get_dstring_number(std::size_t value)
20 {
21  static const dstringt *const dstring_numbers = [] {
22  dstringt *array = new dstringt[DSTRING_NUMBERS_MAX + 1];
23  for(std::size_t i = 0; i <= DSTRING_NUMBERS_MAX; i++)
24  array[i] = dstringt(std::to_string(i));
25  return array;
26  }();
27 
28  return dstring_numbers[value];
29 }
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:36
dstringt::operator<<
std::ostream & operator<<(std::ostream &out) const
Definition: dstring.cpp:14
to_string
std::string to_string(const string_not_contains_constraintt &expr)
Used for debug printing.
Definition: string_constraint.cpp:58
get_dstring_number
dstringt get_dstring_number(std::size_t value)
Definition: dstring.cpp:19
DSTRING_NUMBERS_MAX
constexpr std::size_t DSTRING_NUMBERS_MAX
Definition: magic.h:17
dstringt::as_string
const std::string & as_string() const
Definition: dstring.h:213
dstring.h