From 12b30afb24ac03d69f091f18c25ed2bbefae1acd Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 16 Apr 2020 18:25:53 -0400 Subject: Workaround for matching of dxc diagnostics (#1324) * Specialized handling for comparison of dxc output that ignores line/column numbers. * Simplify areAllEqualWithSplit. --- source/core/slang-string-util.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/core/slang-string-util.h') diff --git a/source/core/slang-string-util.h b/source/core/slang-string-util.h index ad25dc9a1..9f1508cb1 100644 --- a/source/core/slang-string-util.h +++ b/source/core/slang-string-util.h @@ -13,6 +13,14 @@ namespace Slang { struct StringUtil { + typedef bool (*EqualFn)(const UnownedStringSlice& a, const UnownedStringSlice& b); + + /// True if the splits of a and b (via splitChar) are all equal as compared with the equalFn function + static bool areAllEqualWithSplit(const UnownedStringSlice& a, const UnownedStringSlice& b, char splitChar, EqualFn equalFn); + + /// True if all slices in match are all equal as compared with the equalFn function + static bool areAllEqual(const List& a, const List& b, EqualFn equalFn); + /// Split in, by specified splitChar into slices out /// Slices contents will directly address into in, so contents will only stay valid as long as in does. static void split(const UnownedStringSlice& in, char splitChar, List& slicesOut); -- cgit v1.2.3