</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><prestyle="border: 0;"><code> #include "ClassName.h"
</code></pre></li><li><prestyle="border: 0;"><code> #include <unistd.h> // write, close
<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, **adios2/engine/bp/BPFileWriter.h** will contain the following include guards:<ol><li><ul><li><prestyle="border: 0;"><code>#ifndef ADIOS2_ENGINE_BP_BPFILEWRITER_H_
<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, **adios2/engine/bp/BPFileWriter.h** will contain the following include guards:<ol><li><ul><li><prestyle="border: 0;"><code>#ifndef ADIOS2_ENGINE_BP_BPFILEWRITER_H_
</code></pre></li></ul></li><li><strong>Header include organization:</strong> Use the following ordering for the included headers: 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><prestyle="border: 0;"><code> #include "ClassName.h"
</code></pre></li><li><prestyle="border: 0;"><code> #include <unistd.h> // write, close