In the stl implementation that comes along with Visual Studio 12.0 the numeric header looks like this
#pragma once
#ifndef _NUMERIC_
#define _NUMERIC_
// shortened for the sake of readibility
.
.
.
#endif /* _NUMERIC_ */
I know that #pragma once is not standard conform.
Nevertheless, why did they implement a double header guard?
#pragma once: The same file will not be included multiple timesinclude guard idiom:uses preprocessor macro definitions to prevent multiple inclusions of the contents of the file.According to the Doc
I suggest you could refer to the link:https://stackoverflow.com/a/13339535/11872808