1 /* 2 * variant_pointer.h 3 * Range routines 4 * 5 * Roland Knall <rknall@gmail.com> 6 * 7 * Wireshark - Network traffic analyzer 8 * By Gerald Combs <gerald@wireshark.org> 9 * Copyright 1998 Gerald Combs 10 * 11 * SPDX-License-Identifier: GPL-2.0-or-later 12 */ 13 14 #ifndef UI_QT_VARIANT_POINTER_H_ 15 #define UI_QT_VARIANT_POINTER_H_ 16 17 #include <QVariant> 18 19 template <typename T> class VariantPointer 20 { 21 22 public: asPtr(QVariant v)23 static T* asPtr(QVariant v) 24 { 25 return (T *) v.value<void *>(); 26 } 27 asQVariant(T * ptr)28 static QVariant asQVariant(T* ptr) 29 { 30 return QVariant::fromValue((void *) ptr); 31 } 32 }; 33 34 #endif /* UI_QT_VARIANT_POINTER_H_ */ 35