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_ */
|