/thirdparty/qxt/qxtweb-standalone/qxtweb/qxtnull.h

http://github.com/tomahawk-player/tomahawk · C Header · 62 lines · 15 code · 8 blank · 39 comment · 0 complexity · b5a97408faddff3ceec7f57580a27ed1 MD5 · raw file

  1. /****************************************************************************
  2. **
  3. ** Copyright (C) Qxt Foundation. Some rights reserved.
  4. **
  5. ** This file is part of the QxtCore module of the Qxt library.
  6. **
  7. ** This library is free software; you can redistribute it and/or modify it
  8. ** under the terms of the Common Public License, version 1.0, as published
  9. ** by IBM, and/or under the terms of the GNU Lesser General Public License,
  10. ** version 2.1, as published by the Free Software Foundation.
  11. **
  12. ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
  13. ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
  14. ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
  15. ** FITNESS FOR A PARTICULAR PURPOSE.
  16. **
  17. ** You should have received a copy of the CPL and the LGPL along with this
  18. ** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
  19. ** included with the source distribution for more information.
  20. ** If you did not receive a copy of the licenses, contact the Qxt Foundation.
  21. **
  22. ** <http://libqxt.org> <foundation@libqxt.org>
  23. **
  24. ****************************************************************************/
  25. #ifndef QXTNULL_H
  26. #define QXTNULL_H
  27. #include <qxtglobal.h>
  28. /*!
  29. \class QxtNull QxtNull
  30. \inmodule QxtCore
  31. \brief An object representing the "null" value for QxtNullable.
  32. \sa QxtNullable
  33. */
  34. struct QXT_CORE_EXPORT QxtNull
  35. {
  36. /*! integer cast operator
  37. * In expressions, QxtNull behaves as an integer zero for compatibility with generic functions.
  38. */
  39. operator int() const
  40. {
  41. return 0;
  42. }
  43. enum { isNull = true };
  44. };
  45. #ifndef QXT_NO_MACROS
  46. /*! \relates QxtNull
  47. * A convenience alias for QxtNull().
  48. */
  49. #define QXT_NULL QxtNull()
  50. #endif // QXT_NO_MACROS
  51. #endif // QXTNULL_H