// Copyright (c) 2008-2023 the Urho3D project // License: MIT #pragma once namespace Urho3D { class HashBase; class ListBase; class String; class VectorBase; /// Swap two values. template inline void Swap(T& first, T& second) { T temp = first; first = second; second = temp; } template <> URHO3D_API void Swap(String& first, String& second); template <> URHO3D_API void Swap(VectorBase& first, VectorBase& second); template <> URHO3D_API void Swap(ListBase& first, ListBase& second); template <> URHO3D_API void Swap(HashBase& first, HashBase& second); }