[libcamera-devel] [PATCH 2/4] Documentation: coding-style: Document order of includes

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Oct 23 15:52:56 CEST 2019


We follow the Google C++ Style Guide rule on include ordering with a few
tweaks. Document our rule explicitly.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 Documentation/coding-style.rst | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/Documentation/coding-style.rst b/Documentation/coding-style.rst
index ced3155169a6..c53248234c34 100644
--- a/Documentation/coding-style.rst
+++ b/Documentation/coding-style.rst
@@ -61,6 +61,29 @@ document:
   Code Style for indentation, braces, spacing, etc
 * Header guards are formatted as '__LIBCAMERA_FILE_NAME_H__'
 
+Order of Includes
+~~~~~~~~~~~~~~~~~
+
+Headers shall be included at the beginning of .c, .cpp and .h files, right
+after the file description comment block and, for .h files, the header guard
+macro. For .cpp files, if the file implements an API declared in a header file,
+that header file shall be included first in order to ensure it is
+self-contained.
+
+The headers shall be grouped and ordered as follows.
+
+ # The header declaring the API being implemented (if any)
+ # The C and C++ system and standard library headers
+ # Other libraries' headers, with one group per library
+ # Other project's headers
+
+Groups of headers shall be separated by a single blank line. Headers within
+each group shall be sorted alphabetically.
+
+System and library headers shall be included with angle brackets. Project
+headers shall be included with angle brackets for the libcamera public API
+headers, and with double quotes for other libcamera headers.
+
 
 C++ Specific Rules
 ------------------
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list