#ifndef UTILS_H #define UTILS_H #include #include #include #include #include #include #include #include // trim from start static inline std::string <rim(std::string &s) { s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(std::isspace)))); return s; } // trim from end static inline std::string &rtrim(std::string &s) { s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(std::isspace))).base(), s.end()); return s; } // trim from both ends static inline std::string &trim(std::string &s) { return ltrim(rtrim(s)); } static std::string getMacAddress() { std::ifstream t("/sys/class/net/eth0/address"); std::string str((std::istreambuf_iterator(t)), std::istreambuf_iterator()); return trim(str); } std::vector split(const std::string& str) { std::istringstream iss(str); std::vector splitStr; std::copy(std::istream_iterator(iss), std::istream_iterator(), std::back_inserter >(splitStr)); return splitStr; } #endif