trainning_template

Dependencies:   mbed

Committer:
brainliang
Date:
Tue Dec 01 05:21:19 2020 +0000
Revision:
5:7534fc9248a8
trainning_template

Who changed what in which revision?

UserRevisionLine numberNew contents of line
brainliang 5:7534fc9248a8 1 #pragma once
brainliang 5:7534fc9248a8 2
brainliang 5:7534fc9248a8 3 #include <cstdlib>
brainliang 5:7534fc9248a8 4 #include <string>
brainliang 5:7534fc9248a8 5
brainliang 5:7534fc9248a8 6 namespace std{
brainliang 5:7534fc9248a8 7 static inline int stoi(const string &s) {
brainliang 5:7534fc9248a8 8 return atoi(s.c_str());
brainliang 5:7534fc9248a8 9 }
brainliang 5:7534fc9248a8 10 static inline long stol(const string &s) {
brainliang 5:7534fc9248a8 11 return atol(s.c_str());
brainliang 5:7534fc9248a8 12 }
brainliang 5:7534fc9248a8 13 static inline float stof(const string &s) {
brainliang 5:7534fc9248a8 14 return float(atof(s.c_str()));
brainliang 5:7534fc9248a8 15 }
brainliang 5:7534fc9248a8 16 #define _c_to_string(fmt,val) { \
brainliang 5:7534fc9248a8 17 char buf[16];\
brainliang 5:7534fc9248a8 18 snprintf(buf, sizeof(buf), fmt, val);\
brainliang 5:7534fc9248a8 19 return string(buf);\
brainliang 5:7534fc9248a8 20 }
brainliang 5:7534fc9248a8 21 static inline string to_string(bool v) {
brainliang 5:7534fc9248a8 22 _c_to_string("%d", (int)v);
brainliang 5:7534fc9248a8 23 }
brainliang 5:7534fc9248a8 24 static inline string to_string(char v) {
brainliang 5:7534fc9248a8 25 _c_to_string("%c", v);
brainliang 5:7534fc9248a8 26 }
brainliang 5:7534fc9248a8 27 static inline string to_string(int v) {
brainliang 5:7534fc9248a8 28 _c_to_string("%d", v);
brainliang 5:7534fc9248a8 29 }
brainliang 5:7534fc9248a8 30 static inline string to_string(long v) {
brainliang 5:7534fc9248a8 31 _c_to_string("%ld", v);
brainliang 5:7534fc9248a8 32 }
brainliang 5:7534fc9248a8 33 static inline string to_string(float v) {
brainliang 5:7534fc9248a8 34 _c_to_string("%f", v);
brainliang 5:7534fc9248a8 35 }
brainliang 5:7534fc9248a8 36 }
brainliang 5:7534fc9248a8 37
brainliang 5:7534fc9248a8 38 inline bool _p(bool x) { return x; }
brainliang 5:7534fc9248a8 39 inline char _p(char x) { return x; }
brainliang 5:7534fc9248a8 40 inline int _p(int x) { return x; }
brainliang 5:7534fc9248a8 41 inline long _p(long x) { return x; }
brainliang 5:7534fc9248a8 42 inline float _p(float x) { return x; }
brainliang 5:7534fc9248a8 43 inline void* _p(void* x) { return x; }
brainliang 5:7534fc9248a8 44 inline const char* _p(const std::string &x) { return x.c_str(); }
brainliang 5:7534fc9248a8 45