Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
macros.h
Go to the documentation of this file.
1 
18 #ifndef ION_PORT_MACROS_H_
19 #define ION_PORT_MACROS_H_
20 
27 #if (defined(ION_PLATFORM_NACL) && !defined(ION_PLATFORM_PNACL)) || \
28  (defined(ION_PLATFORM_LINUX) && !defined(ION_GOOGLE_INTERNAL)) || \
29  defined(ION_PLATFORM_QNX)
30 #define ION_DISALLOW_ASSIGN_ONLY(TypeName) \
31  public: \
32  TypeName& operator=(const TypeName&) { return *this; } \
33  private: // semicolon ends up here
34 #elif LANG_CXX11
35 #define ION_DISALLOW_ASSIGN_ONLY(TypeName) \
36  void operator=(const TypeName&) = delete
37 #else
38 #define ION_DISALLOW_ASSIGN_ONLY(TypeName) \
39  void operator=(const TypeName&)
40 #endif
41 
43 #if defined(_MSC_VER)
44 #define ION_PRETTY_FUNCTION __FUNCSIG__
45 #else
46 #define ION_PRETTY_FUNCTION __PRETTY_FUNCTION__
47 #endif
48 
49 #endif // ION_PORT_MACROS_H_