Files
external_libcamera/include/libcamera/compiler.h
Laurent Pinchart 6dfa204082 libcamera: Add macro to conditionally use [[nodiscard]]
The [[nodiscard]] attribute has been added to C++17. It can thus be used
inside libcamera, but would prevent applications compiled for C++14 to
use libcamera if the attribute was used in public headers.

To offer this feature when the application is compiled with a
recent-enough C++ version, as well as for compiling libcamera itself,
add a __nodiscard macro that expands as [[nodiscard]] when using C++17
or newer.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-02-04 21:00:38 +02:00

17 lines
328 B
C++

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2021, Google Inc.
*
* compiler.h - Compiler support
*/
#ifndef __LIBCAMERA_COMPILER_H__
#define __LIBCAMERA_COMPILER_H__
#if __cplusplus >= 201703L
#define __nodiscard [[nodiscard]]
#else
#define __nodiscard
#endif
#endif /* __LIBCAMERA_COMPILER_H__ */