HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
gcc.h
Go to the documentation of this file.
1 // =============================================================================
16 // =============================================================================
17 
18 #ifndef HF_GCC_H
19 #define HF_GCC_H
20 
21 #if __cplusplus < 201103
22 const class nullptr_t
23 {
24  public:
25 
26  /* Return 0 for any class pointer */
27  template<typename T> operator T *() const
28  {
29  return 0;
30  }
31 
32  /* Return 0 for any member pointer */
33  template<typename T, typename U>
34  operator T U::*() const
35  {
36  return 0;
37  }
38 
39  /* Safe boolean conversion */
40  operator void *() const
41  {
42  return 0;
43  }
44 
45  template<typename T>
46  bool operator==(const T &other) const
47  {
48  return *this == other;
49  }
50 
51  template<typename T>
52  bool operator!=(const T &other) const
53  {
54  return *this != other;
55  }
56 
57  private:
58 
59  /* Not allowed to get the address */
60  void operator&() const;
61 
62 }
63 nullptr = {};
64 
65  #define __attribute_deprecated__ __attribute__((deprecated))
66 
67  #define __attribute_pure__ __attribute__((pure))
68 
69  #define _override
70 
71  #define _const
72 
73 #else
74 
75 #define _override override
76 
77 #define _const const
78 
79 #endif
80 
81 #endif /* HF_GCC_H */