ATLAS Offline Software
Control
AthLinks
AthLinks
tools
GenerateIndexingPolicy.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/***************************************************************************
6
type generator that associates a known container with an IndexingPolicy.
7
Used by ElementLink
8
----------------------------------------------------------------
9
ATLAS Collaboration
10
***************************************************************************/
11
12
// $Id: GenerateIndexingPolicy.h,v 1.3 2007-03-03 17:56:15 schaffer Exp $
13
14
#ifndef ATHLINKS_TOOLS_GENERATEINDEXINGPOLICY_H
15
# define ATHLINKS_TOOLS_GENERATEINDEXINGPOLICY_H
16
17
#include "
AthLinks/tools/ForwardIndexingPolicy.h
"
18
#include "
AthLinks/tools/DefaultIndexingPolicy.h
"
19
#include "
AthLinks/tools/IdentContIndexingPolicy.h
"
20
#include "
AthLinks/tools/IsSTLSequence.h
"
21
22
23
namespace
SG
{
24
template
<
class
CONTAINER>
25
struct
GenerateIndexingPolicy {
26
private
:
27
28
typedef
IsSTLSequence<CONTAINER>
isSTLSequence_t
;
29
30
static
const
bool
m_isSTLSequence
=
isSTLSequence_t::value
;
31
32
public
:
33
typedef
typename
std::conditional<m_isSTLSequence,ForwardIndexingPolicy<CONTAINER>,
typename
DefaultIndexingPolicy<CONTAINER>::type
>
::type
type
;
34
};
35
}
36
37
#endif // ATHLINKS_TOOLS_GENERATEINDEXINGPOLICIES_H
SG
Forward declaration.
Definition:
CaloCellPacker_400_500.h:32
IsSTLSequence.h
IdentContIndexingPolicy.h
Indexing policy for an IdentifiableContainer.
SG::IsSTLSequence::value
static const bool value
Definition:
IsSTLSequence.h:69
ForwardIndexingPolicy.h
Indexing policy for a vector-like container.
ERROR_PLEASE_ADD_ONE_OF_THE_PREDEFINED_POLICY_INCLUDE_FILES_OR_DEFINE_A_DEFAULT_INDEXING_POLICY_FOR_THIS_TYPE
Definition:
DefaultIndexingPolicy.h:21
DefaultIndexingPolicy.h
SG::GenerateIndexingPolicy::type
std::conditional< m_isSTLSequence, ForwardIndexingPolicy< CONTAINER >, typename DefaultIndexingPolicy< CONTAINER >::type >::type type
Definition:
GenerateIndexingPolicy.h:43
SG::GenerateIndexingPolicy::m_isSTLSequence
static const bool m_isSTLSequence
Definition:
GenerateIndexingPolicy.h:40
SG::GenerateIndexingPolicy::isSTLSequence_t
IsSTLSequence< CONTAINER > isSTLSequence_t
Definition:
GenerateIndexingPolicy.h:38
Generated on Sun Dec 22 2024 21:10:45 for ATLAS Offline Software by
1.8.18