13#ifndef STOREGATE_THINNINGHANDLEBASE_H
14#define STOREGATE_THINNINGHANDLEBASE_H
44 const std::string& sgkey,
45 const EventContext& ctx);
59 void thin (
size_t ndx);
67 void keep (
size_t ndx);
79 void thin (
const std::vector<bool>& v,
Op op = Op::Set);
91 void keep (
const std::vector<bool>& v,
Op op = Op::Set);
Handle class for recording to StoreGate.
Hold thinning decisions for one container.
HandleKey object for adding thinning to an object.
Hold thinning decisions for one container.
Hold thinning decisions for one container.
void thin(size_t ndx)
Mark that index ndx in the container should be thinned away.
ThinningHandleBase(const WriteHandleKey< ThinningDecision > &dkey, const std::string &sgkey, const EventContext &ctx)
Constructor.
void thinAll()
Mark that all elements should be thinned away.
const ThinningDecision & decision() const
Return the thinning object we're building.
void keepAll()
Mark that all elements should be kept (not thinned).
std::unique_ptr< ThinningDecision > m_decision
The thinning object we're building.
void keep(size_t ndx)
Mark that index ndx in the container should be kept (not thinned away).
WriteHandle< ThinningDecision > m_decisionHandle
Handle for writing the decision object.
~ThinningHandleBase()
Destructor.
Property holding a SG store/key/clid from which a WriteHandle is made.