Minh Nguyen / ArduinoJson
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers utility.hpp Source File

utility.hpp

00001 // ArduinoJson - arduinojson.org
00002 // Copyright Benoit Blanchon 2014-2021
00003 // MIT License
00004 
00005 #pragma once
00006 
00007 #include "type_traits.hpp"
00008 
00009 namespace ARDUINOJSON_NAMESPACE {
00010 template <typename T>
00011 inline void swap(T& a, T& b) {
00012   T t(a);
00013   a = b;
00014   b = t;
00015 }
00016 
00017 #if ARDUINOJSON_HAS_RVALUE_REFERENCES
00018 template <typename T>
00019 typename remove_reference<T>::type&& move(T&& t) {
00020   return static_cast<typename remove_reference<T>::type&&>(t);
00021 }
00022 #else
00023 template <typename T>
00024 T& move(T& t) {
00025   return t;
00026 }
00027 #endif
00028 }  // namespace ARDUINOJSON_NAMESPACE