22 #ifndef GAUDIKERNEL_SMARTDATASTOREPTR_H 23 #define GAUDIKERNEL_SMARTDATASTOREPTR_H 1 54 template <
class TYPE,
class LOADER>
83 m_pObject = dynamic_cast<TYPE*>( const_cast<DataObject*>( pObj ) );
89 this->
m_pObject = dynamic_cast<TYPE*>( const_cast<SmartDataObjectPtr*>( © ) );
141 template <
class A,
class LDA,
class B,
class LDB>
161 template <
class B,
class LDB>
164 if ( 0 !=
object.accessTypeSafeData() ) {
181 template <
class B,
class LDB>
184 if ( 0 !=
object.accessTypeSafeData() ) {
205 template <
class A,
class LDA,
class B,
class LDB>
226 template <
class B,
class LDB>
231 if ( 0 !=
object.accessTypeSafeData() ) {
247 template <
class B,
class LDB>
252 if ( 0 !=
object.accessTypeSafeData() ) {
257 #endif // GAUDIKERNEL_SMARTDATASTOREPTR_H
TYPE * accessTypeSafeData()
Internal type safe accessor to data.
bool operator &&(SmartDataStorePtr< A, LDA > &object_1, SmartDataStorePtr< B, LDB > &object_2)
Helper to test Smart data objects efficiently This construct allows statements like: SmartDataPtr<MCV...
SmartDataStorePtr & operator=(DataObject *pObj)
Automatic conversion to data type.
Data provider interface definition.
SmartDataStorePtr & operator=(const SmartDataObjectPtr ©) override
unhides assignment operator of base class
TYPE * ptr()
Automatic conversion to data type.
const std::string & path() const
Path name.
DataObject * accessData()
Static Object retrieval method: must call specific function.
The IRegistry represents the entry door to the environment any data object residing in a transient da...
virtual ~SmartDataStorePtr()=default
Standard Destructor.
TYPE * operator->()
Dereference operator: the heart of the smart pointer.
SmartDataStorePtr & operator=(const DataObject *pObj)
Automatic conversion to data type.
A small class used to access easily (and efficiently) data items residing in data stores.
A small class used to access easily (and efficiently) data items residing in data stores.
bool operator||(SmartDataStorePtr< A, LDA > &object_1, SmartDataStorePtr< B, LDB > &object_2)
Helper to test Smart data objects efficiently This construct allows statements like: SmartDataPtr<MCV...
bool operator!()
operator ! for statements like: if ( !SmartDataStorePtr<XXX>(...) ) {}
TYPE & operator *()
Dereference operator: the heart of the smart pointer.
A DataObject is the base class of any identifiable object on any data store.
TYPE * m_pObject
Pointer to data store object.
SmartDataStorePtr(IDataProviderSvc *pService, IRegistry *pRegistry, std::string path)
Standard constructor: Construct an SmartDataStorePtr instance which is able to connect to a DataObjec...
SmartDataStorePtr(const SmartDataObjectPtr ©)
Copy constructor: Construct an copy of a SmartDataStorePtr instance.