-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathIProperty.h
More file actions
26 lines (23 loc) · 1.01 KB
/
IProperty.h
File metadata and controls
26 lines (23 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once
#include "IProvider[TProvided, TArgument].h"
#include "ISetter[TValue, TArgument].h"
namespace Platform::Interfaces {
template <typename...>
struct IProperty;
/// <summary>
/// <para>Defines a specific property operator that is able to get or set values of that property.</para>
/// <para>Определяет оператор определённого свойства, который может получать или устанавливать его значения.</para>
/// </summary>
/// <typeparam name="TObject">
/// <para>Object type.</para>
/// <para>Тип объекта.</para>
/// </typeparam>
/// <typeparam name="TValue">
/// <para>Property value type.</para>
/// <para>Тип значения свойства.</para>
/// </typeparam>
template <typename TObject, typename TValue>
struct IProperty<TObject, TValue> : public ISetter<TValue, TObject>, IProvider<TValue, TObject> {
virtual ~IProperty() = default;
};
} // namespace Platform::Interfaces