Difference between revisions of "Cpp Coding Standards/HEADERS"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Topic-Id: '''HEADERS'''
+
== Header Files (HEADERS) ==
 +
''What to do or do not with header files.''
  
What to do or do not with header files.
+
===== Self Sufficient and Minimal <span id="Self">(Self)</span> =====
----
+
Header files should be self sufficient and minimal. [[/Self|-> Details]]
=== Summary ===
+
==== Self Sufficient <span id="Self">(Self)</span> ====
+
Make headers include everything they need themselves.
+
  
[[/Self|Details]]
+
===== Include Directly <span id="IncDirect">(IncDirect)</span> =====
 +
Include the header files for all types you need directly, not via another file. [[/IncDirect|-> Details]]
  
==== Include Directly <span id="IncDirect">(IncDirect)</span> ====
+
===== Precompiled headers <span id="IncPCH">(IncPCH)</span> =====
Include the header files for all types you need directly, not via another file.
+
The first statement in each cxx file has to be the inclusion of the precompiled header of the module. [[/IncPCH|-> Details]]
  
[[/IncDirect|Details]]
+
===== Internal Include Guards <span id="IncGuards">(IncGuards)</span> =====
 +
Use internal include guards, but don't use the external ones. [[/IncGuards|-> Details]]
 +
 
 +
===== No Entities with Linkage (NoLinkage) =====
 +
Don't define entities with linkage in header files.<br>
 +
Exception: Constants.
 +
[[/NoLinkage|-> Details]]
 +
 
 +
===== No using namespace (NoUsingNsp) =====
 +
Don't write "using <namespacename>" in heaer files. [[/NoUsingNsp|-> Details]]
  
 
----
 
----
 
[[Category:Coding Standards]]
 
[[Category:Coding Standards]]

Latest revision as of 09:22, 23 May 2007

Header Files (HEADERS)

What to do or do not with header files.

Self Sufficient and Minimal (Self)

Header files should be self sufficient and minimal. -> Details

Include Directly (IncDirect)

Include the header files for all types you need directly, not via another file. -> Details

Precompiled headers (IncPCH)

The first statement in each cxx file has to be the inclusion of the precompiled header of the module. -> Details

Internal Include Guards (IncGuards)

Use internal include guards, but don't use the external ones. -> Details

No Entities with Linkage (NoLinkage)

Don't define entities with linkage in header files.
Exception: Constants. -> Details

No using namespace (NoUsingNsp)

Don't write "using <namespacename>" in heaer files. -> Details


Personal tools