ATLAS Offline Software
DeclareIndexingPolicy.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: DeclareIndexingPolicy.h 723806 2016-02-13 16:18:51Z ssnyder $
8 #ifndef ATHLINKS_DECLAREINDEXINGPOLICY_H
9 # define ATHLINKS_DECLAREINDEXINGPOLICY_H
10 
24 
30 #define CONTAINER_INDEXING_POLICY(CONTAINER, POLICY) \
31 template <> \
32 struct DefaultIndexingPolicy < CONTAINER > { \
33  typedef POLICY< CONTAINER > type; \
34 };
35 
39 #define CONTAINER_IS_SEQUENCE(CONTAINER) \
40  CONTAINER_INDEXING_POLICY(CONTAINER, SG::ForwardIndexingPolicy)
41 
45 #define CONTAINER_IS_MAP(CONTAINER) \
46  CONTAINER_INDEXING_POLICY(CONTAINER, SG::MapIndexingPolicy)
47 
51 #define CONTAINER_IS_SET(CONTAINER) \
52  CONTAINER_INDEXING_POLICY(CONTAINER, SG::SetIndexingPolicy)
53 
57 #define CONTAINER_IS_IDENTCONT( CONTAINER ) \
58  CONTAINER_INDEXING_POLICY( CONTAINER, SG::IdentContIndexingPolicy )
59 
60 #endif // ATHLINKS_DECLAREINDEXINGPOLICY_H
SetIndexingPolicy.h
Indexing policy for a set-like container.
IdentContIndexingPolicy.h
Indexing policy for an IdentifiableContainer.
ForwardIndexingPolicy.h
Indexing policy for a vector-like container.
DefaultIndexingPolicy.h
MapIndexingPolicy.h
Indexing policy for a map-like container.