diff --git a/include/etl/utility.h b/include/etl/utility.h index 742c6aa5..fa5f2d72 100644 --- a/include/etl/utility.h +++ b/include/etl/utility.h @@ -266,7 +266,15 @@ namespace etl //*************************************************************************** /// exchange (const) //*************************************************************************** - template + template + T exchange(T& object, const T& new_value) + { + T old_value = object; + object = new_value; + return old_value; + } + + template T exchange(T& object, const U& new_value) { T old_value = object;