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