ATLAS Offline Software
Loading...
Searching...
No Matches
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
19class 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
virtual bool pushQuery(const INavigable &parent, const INavigable &child)=0
virtual bool trySetObject(const INavigable *child)=0
virtual bool trySetObject(const INavigable *child, const std::any &relPar)=0