aboutsummaryrefslogtreecommitdiff
path: root/src/test/util.h
diff options
context:
space:
mode:
authorMartin Zumsande <mzumsande@gmail.com>2019-11-25 01:33:17 +0100
committerMartin Zumsande <mzumsande@gmail.com>2019-11-25 01:33:17 +0100
commit2cb4e8bdc7ef75ae8d95c246af1e8e1f9c7045bd (patch)
tree478c4b892e09f4103061f42052460c50e22ca9b3 /src/test/util.h
parent239d199667888e5d60309f15a38eed4d3afe56c4 (diff)
[test] move string helper functions into test library
Diffstat (limited to 'src/test/util.h')
-rw-r--r--src/test/util.h33
1 files changed, 0 insertions, 33 deletions
diff --git a/src/test/util.h b/src/test/util.h
index f90cb0d623..3cf830dd38 100644
--- a/src/test/util.h
+++ b/src/test/util.h
@@ -34,37 +34,4 @@ std::string getnewaddress(CWallet& w);
/** Returns the generated coin */
CTxIn generatetoaddress(const std::string& address);
-/**
- * Increment a string. Useful to enumerate all fixed length strings with
- * characters in [min_char, max_char].
- */
-template <typename CharType, size_t StringLength>
-bool NextString(CharType (&string)[StringLength], CharType min_char, CharType max_char)
-{
- for (CharType& elem : string) {
- bool has_next = elem != max_char;
- elem = elem < min_char || elem >= max_char ? min_char : CharType(elem + 1);
- if (has_next) return true;
- }
- return false;
-}
-
-/**
- * Iterate over string values and call function for each string without
- * successive duplicate characters.
- */
-template <typename CharType, size_t StringLength, typename Fn>
-void ForEachNoDup(CharType (&string)[StringLength], CharType min_char, CharType max_char, Fn&& fn) {
- for (bool has_next = true; has_next; has_next = NextString(string, min_char, max_char)) {
- int prev = -1;
- bool skip_string = false;
- for (CharType c : string) {
- if (c == prev) skip_string = true;
- if (skip_string || c < min_char || c > max_char) break;
- prev = c;
- }
- if (!skip_string) fn();
- }
-}
-
#endif // BITCOIN_TEST_UTIL_H