From b727818f148a50796bf9783a40d4bb21240d3fed Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:55:29 +0300 Subject: [PATCH 1/3] Initial commit with task details for issue #12 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/12 --- 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..999ad51 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,5 @@ +Issue to solve: https://github.com/linksplatform/Interfaces/issues/12 +Your prepared branch: issue-12-4a822330 +Your prepared working directory: /tmp/gh-issue-solver-1757519725110 + +Proceed. \ No newline at end of file From ce22cf71028f192fbce97539cc8da06f2d0729c5 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:55:45 +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 999ad51..0000000 --- a/CLAUDE.md +++ /dev/null @@ -1,5 +0,0 @@ -Issue to solve: https://github.com/linksplatform/Interfaces/issues/12 -Your prepared branch: issue-12-4a822330 -Your prepared working directory: /tmp/gh-issue-solver-1757519725110 - -Proceed. \ No newline at end of file From 4e3d995b09092d5e5dd9c2d2024de6ecf61c9690 Mon Sep 17 00:00:00 2001 From: konard Date: Wed, 10 Sep 2025 18:59:15 +0300 Subject: [PATCH 3/3] Add internationalized documentation comments to C++ interfaces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added bilingual English/Russian XML documentation comments to all core C++ interface files - Matches documentation style and content from existing C# interfaces - Covers IFactory, IProvider, ISetter, ICounter, ICriterionMatcher, IProperty, and IProperties interfaces - Follows consistent XML documentation format with , , , and tags Fixes #12 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../ICounter[TResult, TArgument].h | 24 ++++++++++ cpp/Platform.Interfaces/ICounter[TResult].h | 16 +++++++ cpp/Platform.Interfaces/ICriterionMatcher.h | 20 ++++++++ cpp/Platform.Interfaces/IFactory.h | 16 +++++++ cpp/Platform.Interfaces/IProperties.h | 48 +++++++++++++++++++ cpp/Platform.Interfaces/IProperty.h | 12 +++++ .../IProvider[TProvided, TArgument].h | 24 ++++++++++ .../IProvider[TProvided].h | 16 +++++++ .../ISetter[TValue, TArgument].h | 24 ++++++++++ cpp/Platform.Interfaces/ISetter[TValue].h | 16 +++++++ 10 files changed, 216 insertions(+) diff --git a/cpp/Platform.Interfaces/ICounter[TResult, TArgument].h b/cpp/Platform.Interfaces/ICounter[TResult, TArgument].h index 0009155..8089639 100644 --- a/cpp/Platform.Interfaces/ICounter[TResult, TArgument].h +++ b/cpp/Platform.Interfaces/ICounter[TResult, TArgument].h @@ -4,8 +4,32 @@ namespace Platform::Interfaces { template struct ICounter; + /// + /// Defines a counter that requires an argument to perform a count. + /// Определяет счётчик, которому требуется аргумент для выполнения подсчёта. + /// + /// + /// The count result type. + /// Тип результата подсчёта. + /// + /// + /// The argument type. + /// Тип аргумента. + /// template struct ICounter { + /// + /// Performs a count. + /// Выполняет подсчёт. + /// + /// + /// The argument. + /// Аргумент. + /// + /// + /// The count result. + /// Результат подсчёта. + /// virtual TResult Count(TArgument argument) = 0; virtual ~ICounter() = default; diff --git a/cpp/Platform.Interfaces/ICounter[TResult].h b/cpp/Platform.Interfaces/ICounter[TResult].h index 44db546..51ce3a0 100644 --- a/cpp/Platform.Interfaces/ICounter[TResult].h +++ b/cpp/Platform.Interfaces/ICounter[TResult].h @@ -4,8 +4,24 @@ namespace Platform::Interfaces { template struct ICounter; + /// + /// Defines a counter. + /// Определяет счётчик. + /// + /// + /// The count result type. + /// Тип результата подсчёта. + /// template struct ICounter { + /// + /// Performs a count. + /// Выполняет подсчёт. + /// + /// + /// The count result. + /// Результат подсчёта. + /// virtual TResult Count() = 0; virtual ~ICounter() = default; diff --git a/cpp/Platform.Interfaces/ICriterionMatcher.h b/cpp/Platform.Interfaces/ICriterionMatcher.h index a2fc478..c1b3eee 100644 --- a/cpp/Platform.Interfaces/ICriterionMatcher.h +++ b/cpp/Platform.Interfaces/ICriterionMatcher.h @@ -4,8 +4,28 @@ namespace Platform::Interfaces { template struct ICriterionMatcher; + /// + /// Defines a criterion matcher, that contains a specific method for determining whether the argument matches the criterion or not. + /// Определяет объект который проверяет соответствие критерию и содержит конкретный метод для определения, соответствует ли аргумент критерию или нет. + /// + /// + /// Argument type. + /// Тип аргумента. + /// template struct ICriterionMatcher { + /// + /// Determines whether the argument matches the criterion. + /// Определяет, соответствует ли аргумент критерию. + /// + /// + /// The argument. + /// Аргумент. + /// + /// + /// A value that determines whether the argument matches the criterion. + /// Значение, определяющие соответствует ли аргумент критерию. + /// virtual bool IsMatched(TArgument argument) = 0; virtual ~ICriterionMatcher() = default; diff --git a/cpp/Platform.Interfaces/IFactory.h b/cpp/Platform.Interfaces/IFactory.h index 5d7c6b3..5f872e7 100644 --- a/cpp/Platform.Interfaces/IFactory.h +++ b/cpp/Platform.Interfaces/IFactory.h @@ -4,8 +4,24 @@ namespace Platform::Interfaces { template struct IFactory; + /// + /// Defines a factory that produces instances of a specific type. + /// Определяет фабрику, которая производит экземпляры определенного типа. + /// + /// + /// Type of produced instances. + /// Тип производимых экземпляров. + /// template struct IFactory { + /// + /// Creates an instance of TProduct type. + /// Создает экземпляр типа TProduct. + /// + /// + /// The instance of TProduct type. + /// Экземпляр типа TProduct. + /// virtual TProduct Create() = 0; virtual ~IFactory() = default; diff --git a/cpp/Platform.Interfaces/IProperties.h b/cpp/Platform.Interfaces/IProperties.h index ff0871c..65c4627 100644 --- a/cpp/Platform.Interfaces/IProperties.h +++ b/cpp/Platform.Interfaces/IProperties.h @@ -4,10 +4,58 @@ namespace Platform::Interfaces { template struct IProperties; + /// + /// Defines a properties operator that is able to get or set values of properties of a object of a specific type. + /// Определяет оператор свойств, который может получать или устанавливать значения свойств объекта определенного типа. + /// + /// + /// Object type. + /// Тип объекта. + /// + /// + /// Property reference type. + /// Тип ссылки на свойство. + /// + /// + /// Property value type. + /// Тип значения свойства. + /// template struct IProperties { + /// + /// Gets the value of the property in the specified object. + /// Получает значение свойства в указанном объекте. + /// + /// + /// The object reference. + /// Ссылка на объект. + /// + /// + /// The property reference. + /// Ссылка на свойство. + /// + /// + /// The value of the property. + /// Значение свойства. + /// virtual TValue GetValue(TObject object, TProperty property) = 0; + /// + /// Sets the value of a property in the specified object. + /// Устанавливает значение свойства в указанном объекте. + /// + /// + /// The object reference. + /// Ссылка на объект. + /// + /// + /// The property reference. + /// Ссылка на свойство. + /// + /// + /// The value. + /// Значение. + /// virtual void SetValue(TObject object, TProperty property, TValue value) = 0; virtual ~IProperties() = default; diff --git a/cpp/Platform.Interfaces/IProperty.h b/cpp/Platform.Interfaces/IProperty.h index f36e9e9..a75db42 100644 --- a/cpp/Platform.Interfaces/IProperty.h +++ b/cpp/Platform.Interfaces/IProperty.h @@ -7,6 +7,18 @@ namespace Platform::Interfaces { template struct IProperty; + /// + /// Defines a specific property operator that is able to get or set values of that property. + /// Определяет оператор определённого свойства, который может получать или устанавливать его значения. + /// + /// + /// Object type. + /// Тип объекта. + /// + /// + /// Property value type. + /// Тип значения свойства. + /// template struct IProperty : public ISetter, IProvider { virtual ~IProperty() = default; diff --git a/cpp/Platform.Interfaces/IProvider[TProvided, TArgument].h b/cpp/Platform.Interfaces/IProvider[TProvided, TArgument].h index 119cadc..2cab3e1 100644 --- a/cpp/Platform.Interfaces/IProvider[TProvided, TArgument].h +++ b/cpp/Platform.Interfaces/IProvider[TProvided, TArgument].h @@ -4,8 +4,32 @@ namespace Platform::Interfaces { template struct IProvider; + /// + /// Defines the provider of objects/values for which an argument must be specified. + /// Определяет поставщика объектов/значений, для получения которых необходимо указать аргумент. + /// + /// + /// Type of provided objects/values. + /// Тип предоставляемых объектов/значений. + /// + /// + /// Argument type. + /// Тип аргумента. + /// template struct IProvider { + /// + /// Provides an object(s)/value(s). + /// Предоставляет объект(ы)/значение(я). + /// + /// + /// The argument required to acquire the object(s)/value(s). + /// Аргумент, необходимый для получения объекта(ов)/значения(ий). + /// + /// + /// The object(s)/value(s). + /// Объект(ы)/значение(я). + /// virtual TProvided Get(TArgument argument) = 0; virtual ~IProvider() = default; diff --git a/cpp/Platform.Interfaces/IProvider[TProvided].h b/cpp/Platform.Interfaces/IProvider[TProvided].h index 2f035f3..b1e6068 100644 --- a/cpp/Platform.Interfaces/IProvider[TProvided].h +++ b/cpp/Platform.Interfaces/IProvider[TProvided].h @@ -4,8 +4,24 @@ namespace Platform::Interfaces { template struct IProvider; + /// + /// Defines the provider of objects/values. + /// Определяет поставщика объектов/значений. + /// + /// + /// Type of provided object/value. + /// Тип предоставляемого объекта/значения. + /// template struct IProvider { + /// + /// Provides an object(s)/value(s). + /// Предоставляет объект(ы)/значение(я). + /// + /// + /// The object(s)/value(s). + /// Объект(ы)/значение(я). + /// virtual TProvided Get() = 0; virtual ~IProvider() = default; diff --git a/cpp/Platform.Interfaces/ISetter[TValue, TArgument].h b/cpp/Platform.Interfaces/ISetter[TValue, TArgument].h index 52ed8b9..27f4cdd 100644 --- a/cpp/Platform.Interfaces/ISetter[TValue, TArgument].h +++ b/cpp/Platform.Interfaces/ISetter[TValue, TArgument].h @@ -4,8 +4,32 @@ namespace Platform::Interfaces { template struct ISetter; + /// + /// Defines an setter that requires an argument to set the passed value as a new state. + /// Определяет установщик, которому для установки переданного значения в качестве нового состояния требуется аргумент. + /// + /// + /// Type of set value. + /// Тип устанавливаемого значения. + /// + /// + /// The argument type. + /// Тип аргумента. + /// template struct ISetter { + /// + /// Sets the value of a specific property in the specified object. + /// Устанавливает значение определённого свойства в указанном объекте. + /// + /// + /// The argument. + /// Аргумент. + /// + /// + /// The value. + /// Значение. + /// virtual void Set(TArgument argument, TValue value) = 0; virtual ~ISetter() = default; diff --git a/cpp/Platform.Interfaces/ISetter[TValue].h b/cpp/Platform.Interfaces/ISetter[TValue].h index a893933..ee84ceb 100644 --- a/cpp/Platform.Interfaces/ISetter[TValue].h +++ b/cpp/Platform.Interfaces/ISetter[TValue].h @@ -4,8 +4,24 @@ namespace Platform::Interfaces { template struct ISetter; + /// + /// Defines an setter that sets the passed value as a new state. + /// Определяет установщик, который устанавливает переданное значение в качестве нового состояния. + /// + /// + /// Type of set value. + /// Тип устанавливаемого значения. + /// template struct ISetter { + /// + /// Sets the value of a specific property in the specified object. + /// Устанавливает значение определённого свойства в указанном объекте. + /// + /// + /// The value. + /// Значение. + /// virtual void Set(TValue value) = 0; virtual ~ISetter() = default;