ATLAS Offline Software
Loading...
Searching...
No Matches
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
18
24
30#define CONTAINER_INDEXING_POLICY(CONTAINER, POLICY) \
31template <> \
32struct 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
Indexing policy for a vector-like container.
Indexing policy for an IdentifiableContainer.
Indexing policy for a map-like container.
Indexing policy for a set-like container.