8 #include <boost/tokenizer.hpp>
9 #include <boost/algorithm/string.hpp>
32 typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
33 boost::char_separator<char> sep(
"|");
34 tokenizer tokens(prop, sep);
35 int nToks(distance(tokens.begin(), tokens.end()));
36 auto it = tokens.begin();
38 if (nToks < 3 || nToks > 4) {
39 std::cerr <<
"Unable to instantiante DataObjectHandle from Property: " << s
45 boost::erase_all(k,
"'");
46 boost::erase_all(k,
"(");
47 boost::erase_all(k,
")");
55 std::cerr <<
"ERROR: mismatch in access mode for DataObjectHandle "
73 boost::char_separator<char> sep2(
"&");
74 tokenizer tok2(alt,sep2);
76 for (
auto it2 : tok2 ) {
134 return "DataObjectHandleBase(\"" +
toString() +
"\")";
188 return destination.
assign( *
this );
virtual void setKey(const DataObjID &key)
virtual void useReadHandler() const
use the call-back function at reading
virtual bool assign(const Property &source)=0
import the property value form the source
virtual std::string toString() const =0
value -> string
DataObjectHandleProperty & operator=(const DataObjectHandleBase &value)
DataObjectHandleBase * m_pValue
Pointer to the real property.
virtual std::string toString() const
value -> string
The declaration of major parsing functions used e.g for (re)implementation of new extended properties...
bool isSuccess() const
Test for a status code of SUCCESS.
virtual void toStream(std::ostream &out) const
value -> stream
virtual Mode mode() const
virtual StatusCode fromString(const std::string &s)
string -> value
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
void setOptional(bool optional=true)
virtual bool assign(const Property &source)
import the property value form the source
virtual ~DataObjectHandleProperty()
DataObjectHandleProperty.h GaudiKernel/DataObjectHandleProperty.h.
virtual const DataObjID & fullKey() const
std::ostream & toStream(ITERATOR first, ITERATOR last, std::ostream &s, const std::string &open, const std::string &close, const std::string &delim)
the helper function to print the sequence
DataObjectHandleProperty(const std::string &name, DataObjectHandleBase &ref)
virtual bool useUpdateHandler()
use the call-back function at update
This class is used for returning status codes from appropriate routines.
const std::string pythonRepr() const
bool setValue(const DataObjectHandleBase &value)
Property base class allowing Property* collections to be "homogeneous".
DataObjectHandleBase GaudiKernel/DataObjectHandleBase.h.
virtual DataObjectHandleProperty * clone() const
clone: "virtual constructor"
virtual bool load(Property &destination) const
export the property value to the destination
const DataObjectHandleBase & value() const
Helper functions to set/get the application return code.
const std::vector< std::string > & alternativeDataProductNames() const
void setAlternativeDataProductNames(const std::vector< std::string > &alternativeAddresses)