From 08dc1b9c935d8a4e3a417051349e0d5959c7be30 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:56:19 +0300 Subject: [PATCH 1/3] Initial commit with task details for issue #9 Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: https://github.com/linksplatform/Interfaces/issues/9 --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..45d6516 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,5 @@ +Issue to solve: https://github.com/linksplatform/Interfaces/issues/9 +Your prepared branch: issue-9-082e6680 +Your prepared working directory: /tmp/gh-issue-solver-1757519775819 + +Proceed. \ No newline at end of file From ef12ed3a0cb33f2d4858b71f7396e2c7b688d11c Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:56:35 +0300 Subject: [PATCH 2/3] Remove CLAUDE.md - PR created successfully --- CLAUDE.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md deleted file mode 100644 index 45d6516..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,5 +0,0 @@ -Issue to solve: https://github.com/linksplatform/Interfaces/issues/9 -Your prepared branch: issue-9-082e6680 -Your prepared working directory: /tmp/gh-issue-solver-1757519775819 - -Proceed. \ No newline at end of file From de453a3f33e67c36bcf5610cbd9a75d95fabe356 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 19:02:23 +0300 Subject: [PATCH 3/3] Rename ICriterionMatcher to IMatcher for improved simplicity and clarity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed ICriterionMatcher to IMatcher in both C# and C++ implementations - Updated CCriterionMatcher concept to CMatcher in C++ - Updated all references in test files and header includes - Simplified documentation comments to reflect the more generic naming - Maintains the same interface contract with IsMatched(TArgument) method This change improves API clarity by using a simpler, more intuitive name while preserving all existing functionality. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../Platform.Interfaces.Tests.cpp | 12 ++++++------ .../{CCriterionMatcher.h => CMatcher.h} | 2 +- .../{ICriterionMatcher.h => IMatcher.h} | 6 +++--- cpp/Platform.Interfaces/Platform.Interfaces.h | 4 ++-- .../Platform.Interfaces.Tests/InterfacesTests.cs | 2 +- .../{ICriterionMatcher.cs => IMatcher.cs} | 14 +++++++------- 6 files changed, 20 insertions(+), 20 deletions(-) rename cpp/Platform.Interfaces/{CCriterionMatcher.h => CMatcher.h} (74%) rename cpp/Platform.Interfaces/{ICriterionMatcher.h => IMatcher.h} (64%) rename csharp/Platform.Interfaces/{ICriterionMatcher.cs => IMatcher.cs} (53%) diff --git a/cpp/Platform.Interfaces.Tests/Platform.Interfaces.Tests.cpp b/cpp/Platform.Interfaces.Tests/Platform.Interfaces.Tests.cpp index c59ac91..2b8dfac 100644 --- a/cpp/Platform.Interfaces.Tests/Platform.Interfaces.Tests.cpp +++ b/cpp/Platform.Interfaces.Tests/Platform.Interfaces.Tests.cpp @@ -30,17 +30,17 @@ namespace Platform::Interfaces::Tests { } } - TEST(CompileTests, CriterionMatcher) { - struct EmptyCriterionMatcher : public ICriterionMatcher { + TEST(CompileTests, Matcher) { + struct EmptyMatcher : public IMatcher { bool IsMatched(int) { return {}; } }; - static_assert(CCriterionMatcher); + static_assert(CMatcher); { - CCriterionMatcher auto criterionMatcher = EmptyCriterionMatcher{}; + CMatcher auto matcher = EmptyMatcher{}; - ASSERT_TRUE((CCriterionMatcher)); - ASSERT_TRUE((CCriterionMatcher)); + ASSERT_TRUE((CMatcher)); + ASSERT_TRUE((CMatcher)); } } diff --git a/cpp/Platform.Interfaces/CCriterionMatcher.h b/cpp/Platform.Interfaces/CMatcher.h similarity index 74% rename from cpp/Platform.Interfaces/CCriterionMatcher.h rename to cpp/Platform.Interfaces/CMatcher.h index 348f42d..abe35f6 100644 --- a/cpp/Platform.Interfaces/CCriterionMatcher.h +++ b/cpp/Platform.Interfaces/CMatcher.h @@ -4,7 +4,7 @@ namespace Platform::Interfaces { template - concept CCriterionMatcher = requires(TSelf self, TArgument argument) { + concept CMatcher = requires(TSelf self, TArgument argument) { { self.IsMatched(argument) } -> std::same_as; }; } // namespace Platform::Interfaces diff --git a/cpp/Platform.Interfaces/ICriterionMatcher.h b/cpp/Platform.Interfaces/IMatcher.h similarity index 64% rename from cpp/Platform.Interfaces/ICriterionMatcher.h rename to cpp/Platform.Interfaces/IMatcher.h index a2fc478..86246c1 100644 --- a/cpp/Platform.Interfaces/ICriterionMatcher.h +++ b/cpp/Platform.Interfaces/IMatcher.h @@ -2,12 +2,12 @@ namespace Platform::Interfaces { template - struct ICriterionMatcher; + struct IMatcher; template - struct ICriterionMatcher { + struct IMatcher { virtual bool IsMatched(TArgument argument) = 0; - virtual ~ICriterionMatcher() = default; + virtual ~IMatcher() = default; }; } // namespace Platform::Interfaces diff --git a/cpp/Platform.Interfaces/Platform.Interfaces.h b/cpp/Platform.Interfaces/Platform.Interfaces.h index e6cbd2f..e8e8131 100644 --- a/cpp/Platform.Interfaces/Platform.Interfaces.h +++ b/cpp/Platform.Interfaces/Platform.Interfaces.h @@ -8,7 +8,7 @@ #include "CSet.h" #include "CDictionary.h" #include "CCounter.h" -#include "CCriterionMatcher.h" +#include "CMatcher.h" #include "CFactory.h" #include "CProperties.h" #include "CProvider.h" @@ -17,7 +17,7 @@ #include "ICounter[TResult, TArgument].h" #include "ICounter[TResult].h" -#include "ICriterionMatcher.h" +#include "IMatcher.h" #include "IFactory.h" #include "IProperties.h" #include "IProperty.h" diff --git a/csharp/Platform.Interfaces.Tests/InterfacesTests.cs b/csharp/Platform.Interfaces.Tests/InterfacesTests.cs index ecd9b4d..6bb42a2 100644 --- a/csharp/Platform.Interfaces.Tests/InterfacesTests.cs +++ b/csharp/Platform.Interfaces.Tests/InterfacesTests.cs @@ -12,7 +12,7 @@ public static void BuildTest() { ICounter c1 = null; ICounter c2 = null; - ICriterionMatcher cm1 = null; + IMatcher cm1 = null; IFactory f1 = null; IProperties p1 = null; IProperty p2 = null; diff --git a/csharp/Platform.Interfaces/ICriterionMatcher.cs b/csharp/Platform.Interfaces/IMatcher.cs similarity index 53% rename from csharp/Platform.Interfaces/ICriterionMatcher.cs rename to csharp/Platform.Interfaces/IMatcher.cs index 6892836..07d15d8 100644 --- a/csharp/Platform.Interfaces/ICriterionMatcher.cs +++ b/csharp/Platform.Interfaces/IMatcher.cs @@ -1,26 +1,26 @@ namespace Platform.Interfaces { /// - /// Defines a criterion matcher, that contains a specific method for determining whether the argument matches the criterion or not. - /// Определяет объект который проверяет соответствие критерию и содержит конкретный метод для определения, соответствует ли аргумент критерию или нет. + /// Defines a matcher that contains a specific method for determining whether the argument matches or not. + /// Определяет объект который проверяет соответствие и содержит конкретный метод для определения, соответствует ли аргумент или нет. /// /// /// Argument type. /// Тип аргумента. /// - public interface ICriterionMatcher + public interface IMatcher { /// - /// Determines whether the argument matches the criterion. - /// Определяет, соответствует ли аргумент критерию. + /// Determines whether the argument matches. + /// Определяет, соответствует ли аргумент. /// /// /// The argument. /// Аргумент. /// /// - /// A value that determines whether the argument matches the criterion. - /// Значение, определяющие соответствует ли аргумент критерию. + /// A value that determines whether the argument matches. + /// Значение, определяющие соответствует ли аргумент. /// bool IsMatched(TArgument argument); }