The Gaudi Framework  master (6507eef1)
Loading...
Searching...
No Matches
DataHandleProperty.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2026 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
13#include <Gaudi/Property.h>
15
16#include <iostream>
17
18namespace Gaudi {
19 class DataHandle;
21} // namespace Gaudi
22
23//---------------------------------------------------------------------------
24
32
33//---------------------------------------------------------------------------
34
36public:
39
40 DataHandleVectorProperty* clone() const override;
41 bool load( Gaudi::Details::PropertyBase& destination ) const override;
42 bool assign( const Gaudi::Details::PropertyBase& source ) override;
43 std::string toString() const override;
44 void toStream( std::ostream& out ) const override;
45 StatusCode fromString( const std::string& s ) override;
48
49protected:
54};
55
57public:
58 DataHandleProperty( const std::string& name, Gaudi::DataHandle& ref );
60
61 DataHandleProperty* clone() const override;
62 bool load( Gaudi::Details::PropertyBase& destination ) const override;
63 bool assign( const Gaudi::Details::PropertyBase& source ) override;
64 std::string toString() const override;
65 void toStream( std::ostream& out ) const override;
66 StatusCode fromString( const std::string& s ) override;
67 const Gaudi::DataHandle& value() const;
68 bool setValue( const Gaudi::DataHandle& value );
69
70protected:
75};
#define GAUDI_API
Definition Kernel.h:49
DataHandleProperty(const std::string &name, Gaudi::DataHandle &ref)
Gaudi::DataHandle * m_pValue
Pointer to the real property.
const Gaudi::DataHandle & value() const
bool setValue(const Gaudi::DataHandle &value)
DataHandleVectorProperty(const std::string &name, Gaudi::DataHandleVectorBase &ref)
Gaudi::DataHandleVectorBase * m_pValue
Pointer to the real property.
bool setValue(const Gaudi::DataHandleVectorBase &value)
const Gaudi::DataHandleVectorBase & value() const
Type-erased interface for a configurable sequence of data handles.
Definition DataHandle.h:100
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
virtual PropertyBase * clone() const =0
clones the current property
virtual bool load(PropertyBase &dest) const =0
export the property value to the destination
virtual std::string toString() const =0
value -> string
virtual void toStream(std::ostream &out) const =0
value -> stream
virtual bool assign(const PropertyBase &source)=0
import the property value form the source
virtual StatusCode fromString(const std::string &value)=0
string -> value
PropertyBase & operator=(const PropertyBase &)=default
assignment operator
const std::string name() const
property name
Helper class to simplify the migration old properties deriving directly from PropertyBase.
Definition Property.h:582
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition __init__.py:1