Skip to content
Snippets Groups Projects
Commit 0c041e69 authored by scott snyder's avatar scott snyder Committed by scott snyder
Browse files

CxxUtils: c++20 fixes

std:is_pod is deprecated in c++20.

If a class is declared with a requires clause, the equivalent clause
must be present for all function definitions outside of the class body.
parent 72b75ee5
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!41795CxxUtils+AthContainers: c++20 fixes
// This file's extension implies that it's C, but it's really -*- C++ -*-. // This file's extension implies that it's C, but it's really -*- C++ -*-.
/* /*
* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration. * Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
*/ */
/** /**
* @file CxxUtils/ConcurrentStrMap.h * @file CxxUtils/ConcurrentStrMap.h
...@@ -74,7 +74,8 @@ namespace CxxUtils { ...@@ -74,7 +74,8 @@ namespace CxxUtils {
*/ */
template <class VALUE, template <class> class UPDATER> template <class VALUE, template <class> class UPDATER>
// FIXME: Check UPDATER too. // FIXME: Check UPDATER too.
ATH_REQUIRES (std::is_pod_v<VALUE> && ATH_REQUIRES (std::is_standard_layout_v<VALUE> &&
std::is_trivial_v<VALUE> &&
(sizeof (VALUE) <= sizeof (uintptr_t))) (sizeof (VALUE) <= sizeof (uintptr_t)))
class ConcurrentStrMap class ConcurrentStrMap
{ {
......
/* /*
* Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration. * Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
*/ */
/** /**
* @file CxxUtils/ConcurrentStrMap.icc * @file CxxUtils/ConcurrentStrMap.icc
...@@ -12,7 +12,11 @@ ...@@ -12,7 +12,11 @@
namespace CxxUtils { namespace CxxUtils {
#define T_CONCURRENTSTRMAP template <class VALUE, template <class> class UPDATER> #define T_CONCURRENTSTRMAP template <class VALUE, template <class> class UPDATER> \
ATH_REQUIRES (std::is_standard_layout_v<VALUE> && \
std::is_trivial_v<VALUE> && \
(sizeof (VALUE) <= sizeof (uintptr_t)))
#define CONCURRENTSTRMAP ConcurrentStrMap<VALUE, UPDATER> #define CONCURRENTSTRMAP ConcurrentStrMap<VALUE, UPDATER>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment