cprover
string2int.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Michael Tautschnig, michael.tautschnig@cs.ox.ac.uk
6 
7 \*******************************************************************/
8 
9 
10 #ifndef CPROVER_UTIL_STRING2INT_H
11 #define CPROVER_UTIL_STRING2INT_H
12 
13 #include <string>
14 
15 // These check that the string is indeed a valid number,
16 // and fail an assertion otherwise.
17 // We use those for data types that C++11's std::stoi etc. do not
18 // cover.
19 unsigned safe_string2unsigned(const std::string &str, int base=10);
20 std::size_t safe_string2size_t(const std::string &str, int base=10);
21 
22 // The below mimic C's atoi/atol: any errors are silently ignored.
23 // They are meant to replace atoi/atol.
24 int unsafe_string2int(const std::string &str, int base=10);
25 unsigned unsafe_string2unsigned(const std::string &str, int base=10);
26 std::size_t unsafe_string2size_t(const std::string &str, int base=10);
27 
28 // Same for atoll
29 long long int unsafe_string2signedlonglong(const std::string &str, int base=10);
30 long long unsigned int unsafe_string2unsignedlonglong(
31  const std::string &str, int base=10);
32 
33 #endif // CPROVER_UTIL_STRING2INT_H
unsafe_string2unsigned
unsigned unsafe_string2unsigned(const std::string &str, int base=10)
Definition: string2int.cpp:69
unsafe_string2size_t
std::size_t unsafe_string2size_t(const std::string &str, int base=10)
Definition: string2int.cpp:74
safe_string2unsigned
unsigned safe_string2unsigned(const std::string &str, int base=10)
Definition: string2int.cpp:54
unsafe_string2unsignedlonglong
long long unsigned int unsafe_string2unsignedlonglong(const std::string &str, int base=10)
Definition: string2int.cpp:86
unsafe_string2int
int unsafe_string2int(const std::string &str, int base=10)
Definition: string2int.cpp:64
safe_string2size_t
std::size_t safe_string2size_t(const std::string &str, int base=10)
Definition: string2int.cpp:59
unsafe_string2signedlonglong
long long int unsafe_string2signedlonglong(const std::string &str, int base=10)
Definition: string2int.cpp:79