ATLAS Offline Software
INavigationToken.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 #ifndef INAVIGATIONTOKEN_H
6 #define INAVIGATIONTOKEN_H
7 
9 //
10 // Navigation Abstract Base Class
11 //
12 // Author: H. Ma, S. Rajagopalan, P. Loch
13 //
14 // This class is the base class for the templated NavigationToken class. A
15 // method pushQuery(INavigable&) allows to terminate navigation.
16 //
18 
19 class INavigable;
20 
21 #include <any>
22 
24 {
25  public:
26 
27  virtual ~INavigationToken();
28 
29  // check if query must be forwarded
30  virtual bool pushQuery( const INavigable& parent,
31  const INavigable& child ) = 0;
32 
33  //
34  virtual bool trySetObject(const INavigable* child) = 0;
35  virtual bool trySetObject(const INavigable* child,
36  const std::any& relPar) = 0;
37 
38 };
39 #endif
40 
41 
INavigationToken::trySetObject
virtual bool trySetObject(const INavigable *child, const std::any &relPar)=0
INavigationToken::trySetObject
virtual bool trySetObject(const INavigable *child)=0
test_pyathena.parent
parent
Definition: test_pyathena.py:15
INavigationToken
Definition: INavigationToken.h:24
INavigable
Definition: INavigable.h:18
INavigationToken::pushQuery
virtual bool pushQuery(const INavigable &parent, const INavigable &child)=0
INavigationToken::~INavigationToken
virtual ~INavigationToken()
Definition: INavigationToken.cxx:25