Difference between revisions of "Cpp Coding Standards/HEADERS"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Cpp Coding Standards/Topics/HEADERS moved to Cpp Coding Standards/Header Files: Improve Cpp_Coding_Standards structure.)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Header Files ==
+
== Header Files (HEADERS) ==
What to do and do not with header files.
+
''What to do or do not with header files.''
----
+
=== Summary ===
+
==== SelfSufficient ====
+
Make headers include everything they need themselves.
+
  
==== IncludeDirectly ====
+
===== Self Sufficient and Minimal <span id="Self">(Self)</span> =====
Include the header files for all types you need directly, not via another file.
+
Header files should be self sufficient and minimal. [[/Self|-> Details]]
  
----
+
===== Include Directly <span id="IncDirect">(IncDirect)</span> =====
=== Explanations ===
+
Include the header files for all types you need directly, not via another file. [[/IncDirect|-> Details]]
 +
 
 +
===== Precompiled headers <span id="IncPCH">(IncPCH)</span> =====
 +
The first statement in each cxx file has to be the inclusion of the precompiled header of the module. [[/IncPCH|-> 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