22 template <
typename Handles>
25 handles.reserve( init.size() );
26 std::transform( init.begin(), init.end(), std::back_inserter( handles ),
27 [&](
const auto& loc ) ->
typename Handles::value_type {
28 return { loc, owner };
33 template <
typename OutputSpec,
typename InputSpec,
typename Traits_>
34 class DataHandleMixin;
36 template <
typename Out,
typename In,
typename Tr>
38 const std::string& newLoc ) {
39 parent.setProperty( prop, newLoc ).orThrow(
"Could not set Property", prop +
" -> " + newLoc );
42 template <
typename Out,
typename In,
typename Tr>
44 const std::vector<std::string>& newLocs ) {
45 std::ostringstream ss;
47 return os <<
"'" << i <<
"'";
49 parent.setProperty( prop, ss.str() ).orThrow(
"Could not set Property", prop +
" -> " + ss.str() );
Provide serialization function (output only) for some common STL classes (vectors,...
Handles make_vector_of_handles(IDataHandleHolder *owner, const std::vector< DataObjID > &init)
void updateHandleLocation(DataHandleMixin< Out, In, Tr > &parent, const std::string &prop, const std::string &newLoc)
void updateHandleLocations(DataHandleMixin< Out, In, Tr > &parent, const std::string &prop, const std::vector< std::string > &newLocs)
Stream & ostream_joiner(Stream &os, Iterator first, Iterator last, Separator sep, OutputElement output=OutputElement{})