Skip to content

Remove includes of quite large files if they are not needed to decrease compilation time and some obsolete code from memory.h #871

@dsuponitskiy

Description

@dsuponitskiy

The large file which inclusions are to be reviewed: <iostream>, <vector>, <string> and, possibly, <algorithm>.
Examples:
<iostream> is included in core/include/math/hal/intnat/ubintnat.h, core/include/lattice/hal/default/poly-impl.h, etc. it potentially slows down the compilation.

Forward declarations of I/O stream types from <iostream>, then include <iosfwd>.

Forward declaration for std::vector:
namespace std {
template <typename T> class vector;
}
or
#include // std::allocator
namespace std {
template <typename T, typename Allocator = std::allocator<T>> class vector;
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions