38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
/*
|
||
* IValueOverride.hpp
|
||
*
|
||
* Created on: 24 нояб. 2018 г.
|
||
* Author: titov
|
||
*/
|
||
|
||
#ifndef SOURCE_SYSTEMIC_IVALUEOVERRIDE_HPP_
|
||
#define SOURCE_SYSTEMIC_IVALUEOVERRIDE_HPP_
|
||
|
||
namespace systemic {
|
||
|
||
template<typename T>
|
||
struct IValueOverride {
|
||
//!Функция включения режима перезаписи значения.
|
||
virtual void setupOverride() = 0;
|
||
|
||
//!Функция задания значения для перезаписи.
|
||
virtual void setOverrideValue( T value ) = 0;
|
||
|
||
//!Функция получение перезаписанного (скрытого) значения.
|
||
/*!\brief Функция получение перезаписанного (скрытого) значения.
|
||
* \return Перезаписанное значение.
|
||
*/
|
||
virtual T getHiddenValue() const = 0;
|
||
|
||
//!Функция выключения режима перезаписи.
|
||
virtual void resetOverride() = 0;
|
||
|
||
virtual ~IValueOverride() = default;
|
||
};
|
||
|
||
}
|
||
|
||
|
||
|
||
#endif /* SOURCE_SYSTEMIC_IVALUEOVERRIDE_HPP_ */
|