0d2371c9c3
Lot of things can be const which makes the interface a bit more legible and safe to use - lots of things are accessing pointers that if they changed, would have wierd and unpredicatable effects. Probably of minor concern in practice, but a lot of strings and vectors are being copied when they don't have to be. Very crude profiling indicates this could save 30-50% of the time in KIBIS::KIBIS after ParseFile, but this is incidental to clarifying the API of the classes. Report is const as it doesn't change the logical state of the IBIS_ANY object (if m_reporter were a ref, it'd be mutable). If a T* isn't null-checked inside a function, pass as ref to show that the function expects and requires non-nullity. |
||
---|---|---|
.. | ||
ibis_parser.cpp | ||
ibis_parser.h | ||
kibis.cpp | ||
kibis.h |