From 279eb6672c30dff25bffe827c15d45f8a4a6f4bb Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Fri, 20 Dec 2019 12:07:08 +0100 Subject: [PATCH] Adding src/utils.cpp --- CMakeLists.txt | 1 + src/utils.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/utils.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 src/utils.cpp create mode 100644 src/utils.h diff --git a/CMakeLists.txt b/CMakeLists.txt index f7f0d97..eb553a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ add_executable( ${CMAKE_PROJECT_NAME} src/base58.cpp src/checksum.cpp src/WIF.cpp + src/utils.cpp src/main.cpp ) diff --git a/src/utils.cpp b/src/utils.cpp new file mode 100644 index 0000000..ddda61e --- /dev/null +++ b/src/utils.cpp @@ -0,0 +1,38 @@ +/** + * MIT License + * + * Copyright (c) 2019 EOS Sw/eden + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#include "utils.h" + +std::vector strsplit(const std::string& str, const std::string& delim) { + + std::vector r; + size_t s = 0, e = 0, dlen = delim.length(); + + while((e = str.find(delim, s)) != std::string::npos) { + r.push_back(str.substr(s, e - s)); + s = e + dlen; + } + + r.push_back(str.substr(s)); + return r; +} diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 0000000..ad3d4c2 --- /dev/null +++ b/src/utils.h @@ -0,0 +1,32 @@ +/** + * MIT License + * + * Copyright (c) 2019 EOS Sw/eden + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef UTILS_H +#define UTILS_H + +#include +#include + +std::vector strsplit(const std::string& str, const std::string& delim); + +#endif /* UTILS_H */