Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "sk_utils.h"
- int8_t sku::DFP = 6;
- int8_t sku::FP = DFP;
- namespace sku
- {
- // floating point precision value
- void setFP(uint16_t p)
- {
- FP = p;
- }
- /************************************************************/
- /* To C string */
- /************************************************************/
- // From bool
- const char* tocs(bool b, bool alpha)
- {
- return alpha
- ? static_cast<ostringstream*>( &(ostringstream() << boolalpha << b) )->str().c_str()
- : static_cast<ostringstream*>( &(ostringstream() << noboolalpha << b) )->str().c_str();
- }
- // From int
- const char* tocs(int32_t i)
- {
- return static_cast<ostringstream*>( &(ostringstream() << i ))->str().c_str();
- }
- // From float
- const char* tocs(float f, uint8_t p)
- {
- string tmp = static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
- return tmp.c_str();
- }
- // From C++ string - for convenience
- const char* tocs(string s)
- {
- return s.c_str();
- }
- /************************************************************/
- /* To C++ string */
- /************************************************************/
- // From bool
- string tos(bool b, bool alpha)
- {
- return alpha
- ? static_cast<ostringstream*>( &(ostringstream() << boolalpha << b) )->str()
- : static_cast<ostringstream*>( &(ostringstream() << noboolalpha << b) )->str();
- }
- // From int
- string tos(int32_t i)
- {
- return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
- }
- string tos(uint32_t i)
- {
- return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
- }
- string tos(int64_t i)
- {
- return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
- }
- string tos(uint64_t i)
- {
- return static_cast<ostringstream*>( &(ostringstream() << i ))->str();
- }
- // From float
- string tos(float f, uint8_t p)
- {
- return static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
- }
- string tos(double f, uint8_t p)
- {
- return static_cast<ostringstream*>( &(ostringstream() << fixed << setprecision(p) << f ))->str();
- }
- // From C string
- string tos(const char* c)
- {
- stringstream ss;
- ss << c;
- return ss.str();
- }
- /************************************************************/
- /* To Bool */
- /************************************************************/
- // C string to bool
- bool stob(const char* c)
- {
- return tos(c) == "true" || tos(c) == "1";
- }
- // C++ string to bool
- bool stob(string s)
- {
- return s == "true" || s == "1";
- }
- /************************************************************/
- /* To Int */
- /************************************************************/
- // C string to int
- int32_t stoi(const char* c)
- {
- return atoi(c);
- }
- // C++ string to int
- int32_t stoi(string s)
- {
- return atoi(s.c_str());
- }
- /************************************************************/
- /* To Float */
- /************************************************************/
- // C string to float (double?)
- float stof(const char* c)
- {
- return atof(c);
- }
- // C++ string to float (double?)
- float stof(string s)
- {
- return atof(s.c_str());
- }
- } /* namespace sku */
Advertisement
Add Comment
Please, Sign In to add comment