Class CParamGuardian#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class CParamGuardian : public sdv::CSdvParamInfo#

The parameter guardian class limits manages the parameter states and allows access to the parameter infos and values.

Subclassed by sdv::internal::CParamValue< TVar >

Public Functions

template<typename ...TInfoConstruct>
CParamGuardian(bool bLockable, bool bAutoDirty, TInfoConstruct... tConstruct)#

Constructor.

Template Parameters:

TInfoConstruct – The type of the variables that are provided to the constructor function of the parameter information.

Parameters:
  • bLockable[in] When set, the parameter is lockable. Only use with writable parameters.

  • bAutoDirty[in] When set, the parameter dirty flag is detected automatically. Only use with writable parameters.

  • tConstruct[in] The construct function arguments.

virtual sdv::SParamInfo InfoStruct() const override#

Get the parameter information structure. Overload of sdv::CSdvParamInfo::InfoStruct.

Returns:

Reference to the parameter information structure.

virtual uint32_t Flags() const override#

Get the parameter flags. Overload of sdv::CSdvParamInfo::Flags.

Returns:

The parameter flags.

bool UpdateDirty(const sdv::any_t &ranyValue)#

Mark the parameter as dirty if the value has changed. This implies the automatic dirty detection to be enabled.

Parameters:

ranyValue – Reference to the value to be used to to check.

Returns:

Returns ‘true’ if the dirty flag has changed.

bool SetDirty()#

Explicitly set the parameter to dirty.

Returns:

Returns ‘true’ if the dirty flag has changed.

bool ResetDirty()#

Reset the parameter dirty flag.

Returns:

Returns ‘true’ if the dirty flag has changed.

virtual bool Dirty() const override#

Is the parameter marked dirty? Overload of sdv::CSdvParamInfo::Dirty.

Returns:

Returns the dirty flag of the parameter.

bool Lockable() const#

Is the parameter lockable?

Returns:

Returns whether the parameter can be locked.

bool Lock()#

Lock the parameter.

Returns:

Returns ‘true’ if the lock flag has changed.

bool Unlock()#

Unlock the parameter.

Returns:

Returns ‘true’ if the lock flag has changed.

virtual bool Locked() const override#

Is the parameter currently locked? Overload of sdv::CSdvParamInfo::Locked.

Returns:

Returns the lock flag for the parameter.

virtual bool Set(const any_t &ranyValue) = 0#

Set a value.

Parameters:

ranyValue[in] Reference to the value.

Returns:

Returns whether the parameter is writable and can be set.

virtual any_t Get() const = 0#

Get a value.

Returns:

Returns the value.

Protected Functions

bool CheckRestrictions(const any_t &ranyValue)#

Check the variable for compatibility the restrictions.

Parameters:

ranyValue[in] Reference to the value.

Returns:

Returns whether the variable passes the restrictions.