- Apr 03, 2018
-
-
Rosen Matev authored
Fixes gaudi/Gaudi#22
-
- Mar 17, 2018
-
-
Marco Clemencic authored
-
- Mar 16, 2018
-
-
Gerhard Raven authored
-
Gerhard Raven authored
-
Gerhard Raven authored
-
Gerhard Raven authored
and add a test which checks the ordering of EventIDBase
-
Marco Clemencic authored
-
-
Marco Clemencic authored
- require public constructor for components - removed XyzFactory classes - enabled warning for XyzFactory headers - some clean up and modernization
-
Martin Errenst authored
deReg deleted the object it is deRegistering, but the main purpose of this method is to undo the regiser process, which essentially means to just give up ownership without deletion!
-
- Mar 15, 2018
-
-
Gerhard Raven authored
-
Gerhard Raven authored
-
Marco Clemencic authored
They cannot be deprecated until there is an alternative method to handle artificial dependencies.
-
-
-
-
scott snyder authored
gcc8 warns about catching a polymorphic exception classs by value, as that can discard information in derived classes. Change instances of this to instead catch the exception by const reference.
-
scott snyder authored
Fixes gcc8 compilation error with prop["foo"] where prop is a Property<std::map<std::string, std::string> >. One gets an error like this (trimmed for brevity): Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx: In constructor 'HelloAlg::HelloAlg(const string&, ISvcLocator*)': Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:26:11: error: no match for 'operator[]' (operand types are 'Gaudi::Property<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >' and 'const char [8]') m_myDict["Bonjour"] = "Guten Tag"; ^ In file included from /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/GaudiHandle.h:7, from /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/ToolHandle.h:5, from Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.h:10, from Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:9: /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:49: note: candidate: 'template<class ARG, class T> decltype (declval<T>()[ARG{}]) Gaudi::Property<TYPE, VERIFIER, HANDLERS>::operator[](const ARG&) [with ARG = ARG; T = T; TYPE = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >; VERIFIER = Gaudi::Details::Property::NullVerifier; HANDLERS = Gaudi::Details::Property::UpdateHandler]' inline decltype( std::declval<T>()[ARG{}] ) operator[]( const ARG& arg ) ^~~~~~~~ /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:49: note: template argument deduction/substitution failed: /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h: In substitution of 'template<class ARG, class T> decltype (declval<T>()[ARG{}]) Gaudi::Property<std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> > >::operator[]<ARG, T>(const ARG&) [with ARG = char [8]; T = std::map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char> >]': Control/AthenaExamples/AthExHelloWorld/src/HelloAlg.cxx:26:21: required from here /home/sss/atlas/extern/Gaudi/current/GaudiKernel/GaudiKernel/Property.h:544:39: error: taking address of temporary array inline decltype( std::declval<T>()[ARG{}] ) operator[]( const ARG& arg ) ~~~~~~~~~~~~~~~~~^ Easiest fix seems to be to use decltype(auto) for the return types.
-
- Mar 14, 2018
-
-
Frank Winklmeier authored
If a property contains '[[deprecated]]' in its doc string, print a deprecation warning on setting the property value.
-
- Mar 13, 2018
-
-
Frank Winklmeier authored
Coverity claims: error #2443: defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr constexpr StatusCode() = default; Independent of that there is little use of declaring the default constructor as constexpr as it is calling the non-constexpr default_category().
-
Sebastien Ponce authored
-
- Mar 08, 2018
-
-
Martin Errenst authored
Add legacy methods for regGraph and regTree Migrating the Athena in these cases would be possible, but not very clean. This is why I decided to favor a consistent interface (with similar methods for Hists, Trees and Graphs), opposed to only providing unique_ptr methods. It would be good if future THistSvc clients would pick up the new methods and old methods would be migrated over time.
-
- Mar 05, 2018
-
-
Martin Errenst authored
The previous changes in the interface were to drastic. They would have required too many changes for a service that is likely to be rewritten for ROOT7 within the next 2 years anyway. (2018, 2019) So here we offer a deprecated version without proper ownership management that still works the same in the new implementation. Fix wrong naming in ITHistSvcMT Update ITHistSvc for better legacy support There is now a deprecated regHist method with the old interface. Since we don't want to spam too much during the Athena build, the new regHist method, that transfers ownership, can also return a raw pointer directly. This supports a very common use case in Athena, where the registered histogram is used afterwards. The migration is likely to be scriptable in this case. Adapt new interface in THistSvc.h Fix small typo in THistSvc.h Update InterfaceID version in ITHistSvc Fix wrong default parameter in interface Fit implementation to new interface Fix THistSvc tests and ref files Remove TODOs that are not relevant yet Apply formatting from CI artifacts Update IHistSvc to be more consistent Add THistSvc tests and fix reference The write tests now also contains tests for the new regHist and regShared/getShared methods. Update dbg reference as well Apply formatting patch Remove deprecation attribute from ITHistSvc This would introduce an additional warning for every Gaudi build, while the intention is to discourage the use of its implementation in THistSvc.h. The interface method is still marked as deprecated through a doxygen comment. Add accidentally deleated return type to regHist Comment out deprecation attribute in THistSvc.h Initialize pointer in THistSvc tests Add GAUDI_API back to ITHistSvc Initialize all pointers in THistSvc Apply clang formatting patch from CI Hide deprecation warning behind ATLAS includeguard Let the thistwrite ignore specific file sizes Revert sortgroup regex The previous change did not cover all of the necessary cases and was wrong. Apply formatting artifacts Change test regex also for reading
-
- Mar 01, 2018
-
-
Marco Clemencic authored
-
Marco Clemencic authored
see #15
-
- Feb 28, 2018
-
-
Marco Clemencic authored
-
- Feb 25, 2018
-
-
Gerhard Raven authored
-
Gerhard Raven authored
-
- Feb 20, 2018
-
-
Frank Winklmeier authored
gaudi_add_compile_test can be used to add tests that check for the existence of (expected) compilation failures. Use this to implement a unit test to check for StatusCode comilation failures.
-
- Feb 18, 2018
-
-
Illya Shapoval authored
-
- Feb 14, 2018
-
-
Christopher Rob Jones authored
Rework CommonMessaging::setUpMessaging() to improve runtime performance by improved inlining likelihood and better branch prediciton
-
Marco Clemencic authored
Revert "Restored GaudiKernel/ThreadGaudi.h, needed by ATLAS" This reverts commit 1f86f043.
-
Marco Clemencic authored
-
Marco Clemencic authored
-
- Feb 10, 2018
-
-
Gerhard Raven authored
This reverts merge request !524
-
- Feb 09, 2018
-
-
- Feb 07, 2018
-
-
Gerhard Raven authored
-
Frank Winklmeier authored
The StatusCode now consists of a value and category/domain. By default StatusCodes are created within a "default category". But users can define new categories and StatusCodes using typed enums. The design is mainly borrowed from std::error_code. Main changes: - StatusCode::setCode has been removed - No implicit conversions from/to bool or int anymore. This greatly increases type safety. - Converted all unscoped enums in Gaudi to their own StatusCode category (Clients will have to adjust their code to the scoped enum names (e.g. ERR -> Status::ERR) - Added operator bool() that is equivalent to isSuccess() - Added ternary (bitwise) AND(&) and OR(|) operators to combine StatusCodes according to three-valued logic - Added extensive unit tests for all StatusCode features Impact on clients: - Code that relies on the implicit StatusCode<->bool/int conversion has to be changed to explicitly construct/convert StatusCodes via either the constructor, operator bool() or getCode(). - Clients using Gaudi StatusCodes need to adjust to using the scoped enums. E.g. clients of the ConversionSvc need to change BAD_STORAGE_TYPE to Status::BAD_STORAGE_TYPE when checking for specific StatusCode return types.
-