Modernize RootCnv
- prefer boost::string_ref instead of const std::string& in interfaces
- add transparant comparison when using std::map, so that a string_ref can be used to search in a map which has keys of type std::string
- move standalone functions only visible in a single compilation unit into an anonymous namespace so that these functions are not visible to the linker
Merge request reports
Activity
as with !660 (merged), the real reason for this MR is to (eventually) allow the use of
boost::string_ref
instead ofconst std::string&
in a few places...- [2018-04-15 16:18] Validation started with lhcb-gaudi-merge#486
- [2018-04-16 00:03] Automatic merge failed in lhcb-lcg-dev4#496
- [2018-04-16 00:03] Automatic merge failed in lhcb-gaudi-head-py3#125
- [2018-04-16 00:04] Automatic merge failed in lhcb-lcg-dev3#496
- [2018-04-16 00:05] Automatic merge failed in lhcb-tdr-test#121
- [2018-04-16 00:07] Automatic merge failed in lhcb-gaudi-head#1836
- [2018-04-17 00:03] Automatic merge failed in lhcb-gaudi-head-py3#126
- [2018-04-17 00:04] Automatic merge failed in lhcb-lcg-dev3#497
- [2018-04-17 00:05] Automatic merge failed in lhcb-lcg-dev4#497
- [2018-04-17 00:06] Automatic merge failed in lhcb-gaudi-head#1837
- [2018-04-17 00:06] Automatic merge failed in lhcb-tdr-test#122
- [2018-04-17 10:35] Automatic merge failed in lhcb-gaudi-head#1838
- [2018-04-18 00:04] Automatic merge failed in lhcb-lcg-dev3#498
- [2018-04-18 00:05] Automatic merge failed in lhcb-lcg-dev4#498
- [2018-04-18 00:05] Automatic merge failed in lhcb-gaudi-head-py3#127
- [2018-04-18 00:07] Automatic merge failed in lhcb-tdr-test#123
- [2018-04-18 00:08] Automatic merge failed in lhcb-gaudi-head#1839
- [2018-04-19 00:04] Automatic merge failed in lhcb-lcg-dev3#499
- [2018-04-19 00:04] Automatic merge failed in lhcb-gaudi-head-py3#128
- [2018-04-19 00:04] Automatic merge failed in lhcb-lcg-dev4#499
- [2018-04-19 00:05] Automatic merge failed in lhcb-tdr-test#124
- [2018-04-19 00:07] Automatic merge failed in lhcb-gaudi-head#1840
- [2018-04-20 00:03] Automatic merge failed in lhcb-lcg-dev4#500
- [2018-04-20 00:04] Automatic merge failed in lhcb-lcg-dev3#500
- [2018-04-20 00:06] Automatic merge failed in lhcb-gaudi-head-py3#129
- [2018-04-20 00:07] Automatic merge failed in lhcb-tdr-test#125
- [2018-04-20 00:10] Automatic merge failed in lhcb-gaudi-head#1841
- [2018-04-21 00:03] Automatic merge failed in lhcb-lcg-dev4#501
- [2018-04-21 00:03] Automatic merge failed in lhcb-lcg-dev3#501
- [2018-04-21 00:04] Automatic merge failed in lhcb-gaudi-head-py3#130
- [2018-04-21 00:09] Automatic merge failed in lhcb-gaudi-head#1842
- [2018-04-21 00:21] Automatic merge failed in lhcb-tdr-test#126
- [2018-04-22 00:04] Automatic merge failed in lhcb-lcg-dev4#502
- [2018-04-22 00:04] Automatic merge failed in lhcb-gaudi-head-py3#131
- [2018-04-22 00:04] Automatic merge failed in lhcb-lcg-dev3#502
- [2018-04-22 00:07] Automatic merge failed in lhcb-tdr-test#127
- [2018-04-22 00:10] Automatic merge failed in lhcb-gaudi-head#1843
- [2018-04-23 00:04] Automatic merge failed in lhcb-gaudi-head-py3#132
- [2018-04-23 00:05] Automatic merge failed in lhcb-lcg-dev3#503
- [2018-04-23 00:05] Automatic merge failed in lhcb-lcg-dev4#503
- [2018-04-23 00:07] Automatic merge failed in lhcb-tdr-test#128
- [2018-04-23 00:09] Automatic merge failed in lhcb-gaudi-head#1844
- [2018-04-23 11:58] Automatic merge failed in lhcb-tdr-test#129
- [2018-04-24 00:03] Automatic merge failed in lhcb-gaudi-head-py3#133
- [2018-04-24 00:03] Automatic merge failed in lhcb-lcg-dev4#504
- [2018-04-24 00:03] Automatic merge failed in lhcb-lcg-dev3#504
- [2018-04-24 00:06] Automatic merge failed in lhcb-tdr-test#130
- [2018-04-24 00:11] Automatic merge failed in lhcb-gaudi-head#1845
- [2018-04-24 03:05] Automatic merge failed in lhcb-gaudi-head#1845
- [2018-04-25 00:03] Automatic merge failed in lhcb-lcg-dev4#505
- [2018-04-25 00:04] Automatic merge failed in lhcb-lcg-dev3#505
- [2018-04-25 00:04] Automatic merge failed in lhcb-gaudi-head-py3#134
- [2018-04-25 00:06] Automatic merge failed in lhcb-tdr-test#131
- [2018-04-25 00:08] Automatic merge failed in lhcb-gaudi-head#1846
- [2018-04-26 00:03] Automatic merge failed in lhcb-lcg-dev4#506
- [2018-04-26 00:03] Automatic merge failed in lhcb-lcg-dev3#506
- [2018-04-26 00:05] Automatic merge failed in lhcb-gaudi-head-py3#135
- [2018-04-26 00:07] Automatic merge failed in lhcb-tdr-test#132
- [2018-04-26 00:13] Automatic merge failed in lhcb-gaudi-head#1847
- [2018-04-26 13:29] Automatic merge failed in lhcb-gaudi-head#1848
- [2018-04-27 00:03] Automatic merge failed in lhcb-lcg-dev3#507
- [2018-04-27 00:03] Automatic merge failed in lhcb-lcg-dev4#507
- [2018-04-27 00:05] Automatic merge failed in lhcb-gaudi-head-py3#136
- [2018-04-27 00:06] Automatic merge failed in lhcb-tdr-test#133
- [2018-04-27 00:07] Automatic merge failed in lhcb-gaudi-head#1849
- [2018-04-28 00:03] Automatic merge failed in lhcb-lcg-dev3#508
- [2018-04-28 00:03] Automatic merge failed in lhcb-gaudi-head-py3#137
- [2018-04-28 00:03] Automatic merge failed in lhcb-lcg-dev4#508
- [2018-04-28 00:05] Automatic merge failed in lhcb-tdr-test#134
- [2018-04-28 00:07] Automatic merge failed in lhcb-gaudi-head#1850
- [2018-04-29 00:04] Automatic merge failed in lhcb-gaudi-head-py3#138
- [2018-04-29 00:04] Automatic merge failed in lhcb-lcg-dev3#509
- [2018-04-29 00:04] Automatic merge failed in lhcb-lcg-dev4#509
- [2018-04-29 00:07] Automatic merge failed in lhcb-tdr-test#135
- [2018-04-29 00:13] Automatic merge failed in lhcb-gaudi-head#1851
- [2018-04-30 00:03] Automatic merge failed in lhcb-lcg-dev3#510
- [2018-04-30 00:04] Automatic merge failed in lhcb-lcg-dev4#510
- [2018-04-30 00:05] Automatic merge failed in lhcb-gaudi-head-py3#139
- [2018-04-30 00:06] Automatic merge failed in lhcb-tdr-test#136
- [2018-04-30 00:06] Automatic merge failed in lhcb-gaudi-head#1852
- [2018-05-01 00:03] Automatic merge failed in lhcb-gaudi-head#1853
- [2018-05-01 00:04] Automatic merge failed in lhcb-gaudi-head-py3#140
- [2018-05-01 00:04] Automatic merge failed in lhcb-lcg-dev4#511
- [2018-05-01 00:05] Automatic merge failed in lhcb-tdr-test#137
- [2018-05-01 00:05] Automatic merge failed in lhcb-lcg-dev3#511
- [2018-05-02 00:03] Automatic merge failed in lhcb-lcg-dev4#512
- [2018-05-02 00:04] Automatic merge failed in lhcb-gaudi-head-py3#141
- [2018-05-02 00:04] Automatic merge failed in lhcb-lcg-dev3#512
- [2018-05-02 00:10] Automatic merge failed in lhcb-gaudi-head#1854
- [2018-05-02 00:20] Automatic merge failed in lhcb-tdr-test#138
- [2018-05-03 00:03] Automatic merge failed in lhcb-gaudi-head-py3#142
- [2018-05-03 00:04] Automatic merge failed in lhcb-lcg-dev4#513
- [2018-05-03 00:04] Automatic merge failed in lhcb-lcg-dev3#513
- [2018-05-03 00:06] Automatic merge failed in lhcb-tdr-test#139
- [2018-05-03 00:07] Automatic merge failed in lhcb-gaudi-head#1855
- [2018-05-04 00:04] Automatic merge failed in lhcb-lcg-dev4#514
- [2018-05-04 00:05] Automatic merge failed in lhcb-gaudi-head-py3#143
- [2018-05-04 00:05] Automatic merge failed in lhcb-lcg-dev3#514
- [2018-05-04 00:08] Automatic merge failed in lhcb-tdr-test#140
- [2018-05-04 00:09] Automatic merge failed in lhcb-gaudi-head#1856
- [2018-05-05 00:03] Automatic merge failed in lhcb-lcg-dev3#515
- [2018-05-05 00:05] Automatic merge failed in lhcb-gaudi-head-py3#144
- [2018-05-05 00:05] Automatic merge failed in lhcb-lcg-dev4#515
- [2018-05-05 00:12] Automatic merge failed in lhcb-tdr-test#141
- [2018-05-05 01:17] Automatic merge failed in lhcb-gaudi-head#1857
- [2018-05-06 00:03] Automatic merge failed in lhcb-lcg-dev4#516
- [2018-05-06 00:04] Automatic merge failed in lhcb-gaudi-head#1858
- [2018-05-06 00:04] Automatic merge failed in lhcb-lcg-dev3#516
- [2018-05-06 00:05] Automatic merge failed in lhcb-gaudi-head-py3#145
- [2018-05-06 00:07] Automatic merge failed in lhcb-tdr-test#142
- [2018-05-07 00:04] Automatic merge failed in lhcb-gaudi-head#1859
- [2018-05-07 00:04] Automatic merge failed in lhcb-lcg-dev4#517
- [2018-05-07 00:05] Automatic merge failed in lhcb-tdr-test#143
- [2018-05-07 00:05] Automatic merge failed in lhcb-lcg-dev3#517
- [2018-05-07 00:06] Automatic merge failed in lhcb-gaudi-head-py3#146
- [2018-05-08 00:03] Automatic merge failed in lhcb-lcg-dev4#518
- [2018-05-08 00:03] Automatic merge failed in lhcb-lcg-dev3#518
- [2018-05-08 00:04] Automatic merge failed in lhcb-gaudi-head#1860
- [2018-05-08 00:05] Automatic merge failed in lhcb-gaudi-head-py3#147
- [2018-05-08 00:06] Automatic merge failed in lhcb-tdr-test#144
- [2018-05-09 00:03] Automatic merge failed in lhcb-lcg-dev4#519
- [2018-05-09 00:06] Automatic merge failed in lhcb-lcg-dev3#519
- [2018-05-09 00:06] Automatic merge failed in lhcb-gaudi-head-py3#148
- [2018-05-09 00:09] Automatic merge failed in lhcb-tdr-test#145
- [2018-05-09 00:09] Automatic merge failed in lhcb-gaudi-head#1861
- [2018-05-10 00:03] Automatic merge failed in lhcb-lcg-dev4#520
- [2018-05-10 00:03] Automatic merge failed in lhcb-lcg-dev3#520
- [2018-05-10 00:04] Automatic merge failed in lhcb-gaudi-head#1862
- [2018-05-10 00:05] Automatic merge failed in lhcb-gaudi-head-py3#149
- [2018-05-10 00:07] Automatic merge failed in lhcb-tdr-test#146
- [2018-05-10 03:05] Automatic merge failed in lhcb-gaudi-head-py3#149
- [2018-05-10 03:16] Automatic merge failed in lhcb-tdr-test#146
- [2018-05-11 00:05] Automatic merge failed in lhcb-gaudi-head-py3#150
- [2018-05-11 00:05] Automatic merge failed in lhcb-lcg-dev3#521
- [2018-05-11 00:05] Automatic merge failed in lhcb-lcg-dev4#521
- [2018-05-11 00:06] Automatic merge failed in lhcb-gaudi-head#1863
- [2018-05-11 00:07] Automatic merge failed in lhcb-tdr-test#147
- [2018-05-11 02:13] Automatic merge failed in lhcb-lcg-dev3#521
- [2018-05-11 02:46] Automatic merge failed in lhcb-gaudi-head#1863
- [2018-05-11 05:43] Automatic merge failed in lhcb-lcg-dev3#521
- [2018-05-12 00:03] Automatic merge failed in lhcb-lcg-dev3#522
- [2018-05-12 00:04] Automatic merge failed in lhcb-lcg-dev4#522
- [2018-05-12 00:05] Automatic merge failed in lhcb-gaudi-head-py3#151
- [2018-05-12 00:10] Automatic merge failed in lhcb-gaudi-head#1864
- [2018-05-12 00:23] Automatic merge failed in lhcb-tdr-test#148
- [2018-05-13 00:03] Validation started with lhcb-lcg-dev3#523
- [2018-05-13 00:04] Validation started with lhcb-gaudi-head#1865
- [2018-05-13 00:05] Validation started with lhcb-gaudi-head-py3#152
- [2018-05-13 00:05] Validation started with lhcb-lcg-dev4#523
- [2018-05-13 00:05] Validation started with lhcb-tdr-test#149
- [2018-05-14 00:03] Validation started with lhcb-gaudi-head-py3#153
- [2018-05-14 00:03] Validation started with lhcb-lcg-dev4#524
- [2018-05-14 00:05] Validation started with lhcb-tdr-test#150
- [2018-05-14 00:07] Validation started with lhcb-gaudi-head#1866
- [2018-05-15 00:04] Validation started with lhcb-lcg-dev3#525
- [2018-05-15 00:04] Validation started with lhcb-lcg-dev4#525
- [2018-05-15 00:06] Validation started with lhcb-gaudi-head-py3#154
- [2018-05-15 00:08] Validation started with lhcb-tdr-test#151
- [2018-05-15 00:12] Validation started with lhcb-gaudi-head#1867
- [2018-05-16 00:03] Validation started with lhcb-lcg-dev4#526
- [2018-05-16 00:03] Validation started with lhcb-lcg-dev3#526
- [2018-05-16 00:05] Validation started with lhcb-gaudi-head-py3#155
- [2018-05-16 00:08] Validation started with lhcb-tdr-test#152
- [2018-05-16 00:09] Validation started with lhcb-gaudi-head#1868
- [2018-05-17 00:04] Validation started with lhcb-gaudi-head-py3#156
- [2018-05-17 00:05] Validation started with lhcb-lcg-dev4#527
- [2018-05-17 00:05] Validation started with lhcb-tdr-test#153
- [2018-05-17 00:06] Validation started with lhcb-gaudi-head#1869
- [2018-05-17 22:27] Validation started with lhcb-gaudi-head#739
- [2018-05-18 00:03] Validation started with lhcb-lcg-dev4#528
- [2018-05-18 00:04] Validation started with lhcb-lcg-dev3#528
- [2018-05-18 00:05] Validation started with lhcb-gaudi-head-py3#157
- [2018-05-18 00:06] Validation started with lhcb-gaudi-head#1870
- [2018-05-18 00:06] Validation started with lhcb-tdr-test#154
- [2018-05-19 00:03] Validation started with lhcb-lcg-dev4#529
- [2018-05-19 00:04] Validation started with lhcb-gaudi-head-py3#158
- [2018-05-19 00:07] Validation started with lhcb-gaudi-head#1871
- [2018-05-19 00:07] Validation started with lhcb-tdr-test#155
- [2018-05-20 00:03] Validation started with lhcb-gaudi-head#1872
- [2018-05-20 00:04] Validation started with lhcb-lcg-dev3#530
- [2018-05-20 00:05] Validation started with lhcb-tdr-test#156
- [2018-05-20 00:05] Validation started with lhcb-gaudi-head-py3#159
- [2018-05-20 00:05] Validation started with lhcb-lcg-dev4#530
- [2018-05-21 00:03] Validation started with lhcb-lcg-dev4#531
- [2018-05-21 00:04] Validation started with lhcb-tdr-test#157
- [2018-05-21 00:04] Validation started with lhcb-gaudi-head-py3#160
- [2018-05-21 00:07] Validation started with lhcb-gaudi-head#1873
- [2018-05-22 00:04] Validation started with lhcb-lcg-dev4#532
- [2018-05-22 00:04] Validation started with lhcb-gaudi-head-py3#161
- [2018-05-22 00:05] Validation started with lhcb-lcg-dev3#532
- [2018-05-22 00:06] Validation started with lhcb-tdr-test#158
- [2018-05-22 00:07] Validation started with lhcb-gaudi-head#1874
- [2018-05-23 00:02] Validation started with lhcb-lcg-dev4#533
- [2018-05-23 00:04] Validation started with lhcb-lcg-dev3#533
- [2018-05-23 00:04] Validation started with lhcb-tdr-test#159
- [2018-05-23 00:05] Validation started with lhcb-gaudi-head#1875
- [2018-05-23 00:06] Validation started with lhcb-gaudi-head-py3#162
- [2018-05-24 00:03] Validation started with lhcb-lcg-dev4#534
- [2018-05-24 00:03] Validation started with lhcb-gaudi-head-py3#163
- [2018-05-24 00:04] Validation started with lhcb-tdr-test#160
- [2018-05-24 00:06] Validation started with lhcb-gaudi-head#1876
- [2018-05-25 00:03] Automatic merge failed in lhcb-lcg-dev4#535
- [2018-05-25 00:03] Automatic merge failed in lhcb-gaudi-head-py3#164
- [2018-05-25 00:04] Automatic merge failed in lhcb-lcg-dev3#535
- [2018-05-25 00:12] Automatic merge failed in lhcb-tdr-test#161
- [2018-05-25 00:12] Automatic merge failed in lhcb-gaudi-head#1877
- [2018-05-26 00:03] Automatic merge failed in lhcb-lcg-dev3#536
- [2018-05-26 00:03] Automatic merge failed in lhcb-lcg-dev4#536
- [2018-05-26 00:05] Automatic merge failed in lhcb-gaudi-head-py3#165
- [2018-05-26 00:06] Automatic merge failed in lhcb-tdr-test#162
- [2018-05-26 00:11] Automatic merge failed in lhcb-gaudi-head#1878
- [2018-05-27 00:03] Automatic merge failed in lhcb-gaudi-head#1879
- [2018-05-27 00:03] Automatic merge failed in lhcb-lcg-dev3#537
- [2018-05-27 00:04] Automatic merge failed in lhcb-lcg-dev4#537
- [2018-05-27 00:05] Automatic merge failed in lhcb-tdr-test#163
- [2018-05-27 00:06] Automatic merge failed in lhcb-gaudi-head-py3#166
- [2018-05-28 00:03] Automatic merge failed in lhcb-lcg-dev4#538
- [2018-05-28 00:03] Automatic merge failed in lhcb-gaudi-head-py3#167
- [2018-05-28 00:03] Automatic merge failed in lhcb-lcg-dev3#538
- [2018-05-28 00:07] Automatic merge failed in lhcb-tdr-test#164
- [2018-05-28 00:07] Automatic merge failed in lhcb-gaudi-head#1880
- [2018-05-28 17:23] Automatic merge failed in lhcb-gaudi-head#740
- [2018-05-29 00:04] Automatic merge failed in lhcb-lcg-dev3#539
- [2018-05-29 00:05] Automatic merge failed in lhcb-tdr-test#165
- [2018-05-29 00:05] Automatic merge failed in lhcb-gaudi-head#1881
- [2018-05-29 00:05] Automatic merge failed in lhcb-gaudi-head-py3#168
- [2018-05-30 00:03] Automatic merge failed in lhcb-lcg-dev3#540
- [2018-05-30 00:03] Automatic merge failed in lhcb-gaudi-head-py3#169
- [2018-05-30 00:05] Automatic merge failed in lhcb-lcg-dev4#540
- [2018-05-30 00:05] Automatic merge failed in lhcb-tdr-test#166
- [2018-05-30 00:06] Automatic merge failed in lhcb-gaudi-head#1882
- [2018-05-30 01:32] Automatic merge failed in lhcb-lcg-dev4#540
- [2018-05-30 02:29] Automatic merge failed in lhcb-tdr-test#166
- [2018-05-31 00:03] Automatic merge failed in lhcb-lcg-dev4#541
- [2018-05-31 00:04] Automatic merge failed in lhcb-tdr-test#167
- [2018-05-31 00:04] Automatic merge failed in lhcb-lcg-dev3#541
- [2018-05-31 00:05] Automatic merge failed in lhcb-gaudi-head-py3#170
- [2018-05-31 00:05] Automatic merge failed in lhcb-gaudi-head#1883
- [2018-05-31 10:49] Automatic merge failed in lhcb-gaudi-head#1884
- [2018-06-01 00:05] Automatic merge failed in lhcb-lcg-dev3#542
- [2018-06-01 00:06] Automatic merge failed in lhcb-gaudi-head-py3#171
- [2018-06-01 00:06] Automatic merge failed in lhcb-tdr-test#168
- [2018-06-01 00:09] Automatic merge failed in lhcb-gaudi-head#1885
- [2018-06-02 00:03] Automatic merge failed in lhcb-lcg-dev4#543
- [2018-06-02 00:04] Automatic merge failed in lhcb-gaudi-head-py3#172
- [2018-06-02 00:05] Automatic merge failed in lhcb-lcg-dev3#543
- [2018-06-02 00:08] Automatic merge failed in lhcb-gaudi-head#1886
- [2018-06-02 00:28] Automatic merge failed in lhcb-tdr-test#169
- [2018-06-03 00:03] Automatic merge failed in lhcb-lcg-dev4#544
- [2018-06-03 00:03] Automatic merge failed in lhcb-gaudi-head#1887
- [2018-06-03 00:03] Automatic merge failed in lhcb-gaudi-head-py3#173
- [2018-06-03 00:03] Automatic merge failed in lhcb-lcg-dev3#544
- [2018-06-03 00:05] Automatic merge failed in lhcb-tdr-test#170
- [2018-06-04 00:03] Automatic merge failed in lhcb-lcg-dev4#545
- [2018-06-04 00:04] Automatic merge failed in lhcb-lcg-dev3#545
- [2018-06-04 00:04] Automatic merge failed in lhcb-gaudi-head-py3#174
- [2018-06-04 00:04] Automatic merge failed in lhcb-tdr-test#171
- [2018-06-04 00:05] Automatic merge failed in lhcb-gaudi-head#1888
- [2018-06-05 00:03] Automatic merge failed in lhcb-lcg-dev3#546
- [2018-06-05 00:04] Automatic merge failed in lhcb-lcg-dev4#546
- [2018-06-05 00:06] Automatic merge failed in lhcb-tdr-test#172
- [2018-06-05 00:09] Automatic merge failed in lhcb-gaudi-head#1889
- [2018-06-06 00:05] Automatic merge failed in lhcb-lcg-dev4#547
- [2018-06-06 00:05] Automatic merge failed in lhcb-lcg-dev3#547
- [2018-06-06 00:06] Automatic merge failed in lhcb-gaudi-head-py3#176
- [2018-06-06 00:07] Automatic merge failed in lhcb-tdr-test#173
- [2018-06-06 00:09] Automatic merge failed in lhcb-gaudi-head#1890
- [2018-06-07 00:04] Automatic merge failed in lhcb-lcg-dev4#548
- [2018-06-07 00:05] Automatic merge failed in lhcb-lcg-dev3#548
- [2018-06-07 00:05] Automatic merge failed in lhcb-tdr-test#174
- [2018-06-07 00:07] Automatic merge failed in lhcb-gaudi-head#1891
- [2018-06-07 11:08] Automatic merge failed in lhcb-gaudi-head#1892
- [2018-06-08 00:04] Validation started with lhcb-lcg-dev3#549
- [2018-06-08 00:05] Validation started with lhcb-lcg-dev4#549
- [2018-06-08 00:06] Validation started with lhcb-tdr-test#175
- [2018-06-08 00:08] Validation started with lhcb-gaudi-head#1893
- [2018-06-08 01:49] Validation started with lhcb-gaudi-head#1893
- [2018-06-08 09:01] Validation started with lhcb-gaudi-head#1894
Edited by Software for LHCbThis should be ported to https://gitlab.cern.ch/lhcb/Online and agreed on with @frankm.
Note that the API is compatible with the old one (strictly speaking, it is a superset), as any argument that is compatible with calling a
const std::string&
is also compatible withboost::string_ref
. Note that the ABI is different, but actually simpler and more friendly to C code, as aboost::string_ref
is just a struct with aconst char*
and a length, instead of the much more complicatedstd::string
(with/without aabi:cxx11
tag to distinguish the gcc5 SSO version from the old implementation, etc). So if I'd have to guess, I'd expect @frankm to actually prefer this version ;-)Edited by Gerhard Raven-
In LHCb: If you are convinced boost::string_ref is so much more performing than references to std::string, I have no objections. I personally have some doubts. Whether these changes shall improve multi threading I also have doubts.
-
In Online: A merge shall not happen before the end of data taking. The last thing I want is unforeseen side effects showing up in the last minute before things "get serious".
-
For the upgrade the online version very likely will be entirely re-implemented in the online context. This however will depend on the exposed steering interface of the multi threaded Gaudi implementation which still has to be defined.
-
-
In case one calls a function expecting a
const std::string&
, and you call it with a literal, e.g. "Something", which is of type char[10], then the caller implicitly constructs a string, to which the reference is then bound (and the reference then extends the lifetime of the generated temporary). In case of astring_ref
, it gets constructed from pointer-to-char and size -- so there are cases where yes, it is more performing. Another use case is that you can avoid making yet another string if all you need is a substring of another pre-existing (longer-lived) string (and that is exactly what happens inRegistryEntry
withname()
andidentifier()
-- the former is a subset of the latter, and the latter has a livetime which is not shorter than the former...) -
This is orthogonal to multithreading (but it reduces the number of memory allocations, which in general is a good thing)
-
I have no opinion on when & which branch of online this may or may not be merged to...
-
the upgrade online implementation is certainly independent of this merge request, and clearly lives in a different scope...
Edited by Gerhard Raven-
added 9 commits
-
cc6e6f92...45c3eac0 - 8 commits from branch
gaudi:master
- b5faf148 - Modernize RootCnv
-
cc6e6f92...45c3eac0 - 8 commits from branch
added 23 commits
-
b5faf148...f98d6e2e - 22 commits from branch
gaudi:master
- 15a92b61 - Modernize RootCnv
-
b5faf148...f98d6e2e - 22 commits from branch
mentioned in merge request !659 (merged)
changed milestone to %v30r3
added C++ framework label
- Resolved by Gerhard Raven
This does not compile in the atlas environment with gcc62 and LCG_93a (boost 1.66).
In file included from /bld2/build/GMR659/build/src/GAUDI/RootCnv/src/RootDataConnection.cpp:9:0: /bld2/build/GMR659/build/src/GAUDI/RootCnv/RootCnv/RootDataConnection.h:71:46: error: 'boost::string_ref' has not been declared static StatusCode setCompression( boost::string_ref compression );
added 17 commits
-
15a92b61...992791e5 - 16 commits from branch
gaudi:master
- 637e63b5 - Modernize RootCnv
-
15a92b61...992791e5 - 16 commits from branch
assigned to @clemenci