From: Damjan Marion <damarion@cisco.com>
Date: Wed, 25 Sep 2024 13:52:16 +0000 (+0200)
Subject: vppinfra: add CLIB_SWAP()
X-Git-Tag: v25.06-rc0~263
X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=ea4a5499ae28818c7fa9be006f46c4701e38ce92;p=vpp.git

vppinfra: add CLIB_SWAP()

Type: improvement
Change-Id: I1911a9d6a0ca8e1d24ce7b95281886392081ffc6
Signed-off-by: Damjan Marion <damarion@cisco.com>
---

diff --git a/src/vppinfra/clib.h b/src/vppinfra/clib.h
index 75cebc65672..5348738ec6a 100644
--- a/src/vppinfra/clib.h
+++ b/src/vppinfra/clib.h
@@ -106,6 +106,13 @@
 #define CLIB_STRING_ARRAY(...)                                                \
   (char *[]) { __VA_ARGS__, 0 }
 
+#define CLIB_SWAP(a, b)                                                       \
+  {                                                                           \
+    typeof (a) __tmp = a;                                                     \
+    a = b;                                                                    \
+    b = __tmp;                                                                \
+  }
+
 /* sanitizers */
 #ifdef __has_feature
 #if __has_feature(address_sanitizer)