... | ... | @@ -8,19 +8,23 @@ |
|
|
* Author: John Doe john.doe@email.com
|
|
|
*/
|
|
|
</code></pre></li></ul></li><li><strong>Header include organization:</strong> Example for file ClassName.cpp :<ol><li>Corresponding header: ClassName.h </li><li>System C/POSIX Headers <em>e.g.</em> unistd.h, sys/ipc.h</li><li>C++ versions of system C headers <em>e.g.</em> cstdlib, cstring</li><li>System C++ headers <em>e.g.</em> vector, map</li><li>Other library headers <em>e.g.</em> boost, zfp, bzip2, thrust</li><li>Other headers from this library <em>e.g</em> "adiosFunctions.h"</li></ol><ul><li>Example:</li></ul><ol><li><ul><li><pre style="border: 0;"><code> #include "ClassName.h"
|
|
|
</code></pre></li><li><pre style="border: 0;"><code>#include <unistd.h> // write, close
|
|
|
</code></pre></li><li><pre style="border: 0;"><code> #include <unistd.h> // write, close
|
|
|
#include <sys/ipc.h> // key_t
|
|
|
</code></pre></li><li><pre style="border: 0;"><code>#include <vector>
|
|
|
</code></pre></li><li><pre style="border: 0;"><code> #include <vector>
|
|
|
#include <new> // std::bad_alloc
|
|
|
</code></pre></li><li><pre style="border: 0;"><code>#include <bzip2.h>
|
|
|
</code></pre></li><li><pre style="border: 0;"><code> #include <bzip2.h>
|
|
|
#include <zfp.h>
|
|
|
</code></pre></li><li><pre style="border: 0;"><code>#include "adiosFunctions.h" // IsLittleEndian
|
|
|
</code></pre></li></ul></li></ol></li><li><strong>Include guards:</strong> all headers must have include guards to prevents name conflict. These are place right after the license and at the end of the file. The adopted format includes the relative path in ADIOS. For example, file adios2/engine/bp/BPFileWriter.h will contain the following include guards:<ol><li><ul><li><pre style="border: 0;"><code>
|
|
|
</code></pre></li><li><pre style="border: 0;"><code> #include "adiosFunctions.h" // IsLittleEndian
|
|
|
</code></pre></li></ul></li></ol></li><li>
|
|
|
|
|
|
<strong>Include guards:</strong> all headers must have include guards to prevents name conflict. These are place right after the license and at the end of the file. The adopted format includes the relative path in ADIOS. For example, file adios2/engine/bp/BPFileWriter.h will contain the following include guards:<ol><li><ul><li><pre style="border: 0;"><code>
|
|
|
#ifndef ADIOS2_ENGINE_BP_BPFILEWRITER_H_
|
|
|
#define ADIOS2_ENGINE_BP_BPFILEWRITER_H_<br><br>
|
|
|
...
|
|
|
#endif // end of ADIOS2_ENGINE_BP_BPFILEWRITER_H_ at the end of file
|
|
|
</code></pre></li></ul></li></ol></li><li><strong>Include Documentation:</strong> list header components used in the code if header is not self-explanatory<ul><li>Example:</li></ul><ol><li><ul><li><pre style="border: 0;"><code> #include <vector> //self-explanatory
|
|
|
</code></pre></li></ul></li></ol></li><li>
|
|
|
|
|
|
<strong>Document includes:</strong> list header components used in the code if header is not self-explanatory<ul><li>Example:</li></ul><ol><li><ul><li><pre style="border: 0;"><code> #include <vector> //self-explanatory, not needed
|
|
|
#include <utility> //std::pair
|
|
|
#include <stdexcept> //std::invalid_argument
|
|
|
</code></pre></li></ul></li></ol></li></ol> |
|
|
\ No newline at end of file |