cprover
Loading...
Searching...
No Matches
dstring.cpp
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Container for C-Strings
4
5Author: Daniel Kroening, kroening@kroening.com
6
7\*******************************************************************/
8
11
12#include "dstring.h"
13
14std::ostream &dstringt::operator<<(std::ostream &out) const
15{
16 return out << as_string();
17}
18
19dstringt 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 has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:37
const std::string & as_string() const
Definition dstring.h:197
std::ostream & operator<<(std::ostream &out) const
Definition dstring.cpp:14
dstringt get_dstring_number(std::size_t value)
Definition dstring.cpp:19
Container for C-Strings.
constexpr std::size_t DSTRING_NUMBERS_MAX
Definition magic.h:17