cs-midi/AH/STL/utility

27 lines
459 B
Plaintext

#pragma once
#include <AH/Settings/NamespaceSettings.hpp>
#ifdef __AVR__
#include <AH/Arduino-Wrapper.h>
#include "Fallback/utility"
#else
#include <utility>
#endif
namespace std {
#if __cplusplus < 201402L
/// https://en.cppreference.com/w/cpp/utility/exchange
template <class T, class U = T>
T exchange(T &obj, U &&new_value) {
T old_value = std::move(obj);
obj = std::forward<U>(new_value);
return old_value;
}
#endif
} // namespace std