class VariableSetterImpl : public VariableSetterBase
{
public:
- VariableSetterImpl(T& var, const U& value)
+ VariableSetterImpl(T& var, U value)
: m_var(var),
m_value(value)
{
private:
T& m_var;
- const U& m_value;
+ const U m_value;
// suppress the warning about assignment operator not being generated
VariableSetterImpl<T, U>& operator=(const VariableSetterImpl<T, U>&);
template <typename T, typename U>
inline
-wxPrivate::VariableSetterImpl<T, U> wxMakeVarSetter(T& var, const U& value)
+wxPrivate::VariableSetterImpl<T, U> wxMakeVarSetter(T& var, U value)
{
return wxPrivate::VariableSetterImpl<T, U>(var, value);
}
}
@endcode
+ Notice that @a value is copied, i.e. stored by value, so it can be a
+ temporary object returned by a function call, for example.
+
@see wxON_BLOCK_EXIT_OBJ0(), wxON_BLOCK_EXIT_NULL()
@header{wx/scopeguard.h}