The Gaudi Framework  v33r1 (b1225454)
RetCodeGuard.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIHIVE_RETCODEGUARD_H
12 #define GAUDIHIVE_RETCODEGUARD_H
13 
15 #include "GaudiKernel/IProperty.h"
16 
19 class RetCodeGuard {
20 public:
21  inline RetCodeGuard( const SmartIF<IProperty>& appmgr, int retcode ) : m_appmgr( appmgr ), m_retcode( retcode ) {}
23  inline ~RetCodeGuard() {
26  }
27  }
28 
29 private:
31  int m_retcode;
32 };
33 
34 #endif
#define UNLIKELY(x)
Definition: Kernel.h:106
Helper class to set the application return code in case of early exit (e.g.
Definition: RetCodeGuard.h:19
SmartIF< IProperty > m_appmgr
Definition: RetCodeGuard.h:30
StatusCode setAppReturnCode(SmartIF< IProperty > &appmgr, int value, bool force=false)
Set the application return code.
Definition: AppReturnCode.h:59
const StatusCode & ignore() const
Ignore/check StatusCode.
Definition: StatusCode.h:168
RetCodeGuard(const SmartIF< IProperty > &appmgr, int retcode)
Definition: RetCodeGuard.h:21
void ignore()
Definition: RetCodeGuard.h:22
constexpr int Success
Definition: AppReturnCode.h:26