7 #ifndef CREATEREQUEST_H
8 #define CREATEREQUEST_H
13 #include <pv/pvData.h>
15 #include <pv/bitSet.h>
19 namespace epics {
namespace pvData {
38 static CreateRequest::shared_pointer create();
154 void copyBaseToRequested(
170 void copyBaseFromRequested(
183 { _mapMask(baseMask, requestMask,
false); }
191 { _mapMask(requestMask, baseMask,
true); }
198 FieldBuilderPtr& builder,
bool keepids,
unsigned depth);
205 void _mapMask(
const BitSet& maskSrc,
219 Mapping() :valid(false) {}
220 Mapping(
size_t to,
bool leaf) :to(to), valid(true), leaf(leaf) {}
223 mapping_t base2req, req2base;
227 mutable BitSet scratch;
void maskBaseToRequested(const BitSet &baseMask, BitSet &requestMask) const
void maskBaseFromRequested(BitSet &baseMask, const BitSet &requestMask) const
const std::string & warnings() const
After compute(), check if !warnings().empty()
Data interface for a structure,.
epicsShareExtern PVStructure::shared_pointer createRequest(std::string const &request)
std::tr1::shared_ptr< const Structure > StructureConstPtr
const StructureConstPtr & base() const
const BitSet & requestedMask() const
const StructureConstPtr & requested() const
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Create pvRequest structure for Channel methods.