ATLAS Offline Software
Loading...
Searching...
No Matches
A/AthLinks/DataLinkBase.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/*
3 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
4 */
5#ifndef ATHLINKS_DATALINKBASE_H
6#define ATHLINKS_DATALINKBASE_H
7
8// System include(s):
9extern "C" {
10# include <stdint.h>
11}
12
26class DataLinkBase {
27
28public:
30 DataLinkBase( uint32_t key = 0 );
32 virtual ~DataLinkBase() {}
33
35 uint32_t persKey() const;
37 void setPersKey( uint32_t key );
38
40 bool isDefault() const;
41
43 void clear();
44
46 virtual bool toTransient() = 0;
47
48protected:
50 uint32_t m_persKey;
51
61
62}; // class DataLinkBase
63
64#endif // ATHLINKS_DATALINKBASE_H
Type-independent part of DataLink; holds the persistent state.
bool isDefault() const
Test if the link is in the default state.
void clear()
Clear the link (make it null)
virtual bool toTransient()=0
Reset the object's internal cache.
DataLinkBase()
Default constructor.
virtual ~DataLinkBase()
Destructor.
sgkey_t m_persKey
The hashed key for this link.
bool m_isDirectIO
A transient variable signalling when direct I/O is happening.
sgkey_t key() const
Return the SG key that we reference, as a hash.
uint32_t persKey() const
Get the key/identifier of the referenced container.
void setPersKey(uint32_t key)
Set the key/identifier of the referenced container.