Breaking changes for art series 2.11¶
- Table of contents
- Breaking changes for art series 2.11
'-o /dev/null'at the command line will now create/override an output module to write to /dev/null. If disabling output modules is desired, then the
--no-outputprogram option should be specified.
artprocesses that intentionally do not process events (e.g.
art --version), the return code will be 0 if no exception was thrown, and the “Art has completed…” statement will be suppressed. If there is an error, the return code will be displayed with the "Art has completed..." statement. In any case, the return code can be ascertained by executing
'echo $?'immediately after the
art::Ptr<T>s can now be made only to elements in collections that have a
size()member function. This extra restriction is unlikely to affect anyone.
- For two identical
art::overlapping_ranges(rs1, rs2)now returns
- The following top-level
messagefacilityconfiguration parameters are no longer used and should be removed:
MF_Utilitieslibrary has been merged with
MF_MesageLogger. All instances of
MF_Utilitieson link lines should, therefore, be replaced with
MF_MessageLoggeror removed altogether.
- For users setting up their own
messagefacilityinstance, please contact firstname.lastname@example.org for any additional breaking changes.
cet::zero_init<T>, a facility for zero-initializing non-static, fundamental types, has been removed. This behavior is now provided by C++11’s uniform initialization syntax.
cet::map_vector<T>functionality has changed substantially:
cet::map_vector<T>no longer adjusts the keys of any elements that are to be inserted
cet::map_vector<T>::push_backhas been removed due to dangerous behavior, and also because it did not reflect a well-defined abstraction of the class. The
push_backfunction has been replaced with
insert, which models the same semantics as
cet::map_vector<T>::insertfunction that takes an iterator range has been changed to has been changed to match the
std::map<K, V>::insert(b, e)behavior.
cet::map_vector<T>::operatorfunction is still usable.
- Exception-related headers that forwarded to
cetlib_exceptno longer provide forwarding. Please make the following header-dependency changes:
To update your header dependencies, a migration script has been provided. After doing a UPS setup of
find <dir> -regex ".*\.\(h\|hh\|cc\|cpp\|cxx\)" | xargs perl -wapi $ART_DIR/tools/migration/art-2.11-migration.pl
cet::demangle(std::string const&)function, deprecated as of
art2.06.00 is removed in favor of