7 #ifndef CREATEREQUEST_H 8 #define CREATEREQUEST_H 19 namespace epics {
namespace pvData {
38 static CreateRequest::shared_pointer create();
143 inline const std::string&
warnings()
const {
return messages; }
154 void copyBaseToRequested(
170 void copyBaseFromRequested(
183 { _mapMask(baseMask, requestMask,
false); }
191 { _mapMask(requestMask, baseMask,
true); }
205 void _mapMask(
const BitSet& maskSrc,
219 Mapping() :valid(
false) {}
220 Mapping(
size_t to,
bool leaf) :to(to), valid(
true), leaf(leaf) {}
222 typedef std::vector<Mapping> mapping_t;
223 mapping_t base2req, req2base;
225 std::string messages;
const BitSet & requestedMask() const
EPICS_ALWAYS_INLINE T swap(T val)
const std::string & warnings() const
After compute(), check if !warnings().empty()
void maskBaseToRequested(const BitSet &baseMask, BitSet &requestMask) const
Create pvRequest structure for Channel methods.
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
Mark external symbols and entry points for shared libraries.
std::tr1::shared_ptr< FieldBuilder > FieldBuilderPtr
PVStructure::shared_pointer createRequest(std::string const &request)
#define POINTER_DEFINITIONS(clazz)
const StructureConstPtr & base() const
void maskBaseFromRequested(BitSet &baseMask, const BitSet &requestMask) const
Data interface for a structure,.
std::tr1::shared_ptr< PVStructure > PVStructurePtr
const StructureConstPtr & requested() const