DAN30-A. Create a copy constructor and assignment operator for non copyable objects
DCLxx-A. Do not convert a function pointer to a function of a different type
DCL31-C. Ensure every function has a function prototype
FIO09-A. fflush() should be called after writing to an output stream if data integrity is important.
MSC05-A. Do not manipulate time_t values directly
MSC09-A Character Encoding - Use Subset of ASCII for Safety
Do not assume the layout of bitfields in memory (draft)
Minimize the use of enviroment variables ~Draft~
Only use values for fsetpos() that are returned from fgetpos() ~Draft~