Rule M16-2-3 (required, implementation, automated)

Include guards shall be provided. See MISRA C++ 2008 [7]