|
ChimeraTK-DeviceAccess
03.18.00
|
Go to the documentation of this file.
10 template<
typename UserType>
132 bool mayReplaceOther(
const boost::shared_ptr<TransferElement const>& other)
const override {
138 return {boost::enable_shared_from_this<TransferElement>::shared_from_this()};
143 std::list<boost::shared_ptr<TransferElement>> r;
249 this->
_readQueue.push_exception(std::current_exception());
254 throw ChimeraTK::detail::DiscardValueException();
258 this->
_readQueue.push_exception(std::current_exception());
std::exception_ptr _seenActiveException
bool isReadOnly() const override
std::vector< boost::shared_ptr< TransferElement > > getHardwareAccessingElements() override
bool isWriteable() const override
bool mayReplaceOther(const boost::shared_ptr< TransferElement const > &other) const override
bool doWriteTransferDestructively(ChimeraTK::VersionNumber versionNumber) override
VersionNumber _writeTransfer_version
void doPreWrite(TransferType type, VersionNumber versionNumber) override
VersionNumber _setPostReadVersion
size_t _writeTransferDestructively_counter
VersionNumber _preWrite_version
std::vector< std::vector< UserType > > buffer_2D
Buffer of converted data elements.
std::exception_ptr _activeException
Exception to be rethrown in postXXX() in case hasSeenException == true Can be set via setActiveExcept...
Exception thrown when a runtime error has occured.
std::vector< boost::shared_ptr< TransferElementTestAccessor< UserType > > > _internalElements
void doPostWrite(TransferType type, VersionNumber versionNumber) override
bool doWriteTransfer(ChimeraTK::VersionNumber versionNumber) override
std::set< TransferElementID > _listMayReplaceElements
std::exception_ptr _thrownException
void doPreRead(TransferType type) override
size_t _writeTransfer_counter
std::list< boost::shared_ptr< TransferElement > > getInternalElements() override
TransferElementTestAccessor(AccessModeFlags flags)
Special accessor used to test the behaviour of the TransferElement base class and the TransferGroup.
void doReadTransferSynchronously() override
std::exception_ptr _activeException
Exception to be rethrown in postXXX() in case hasSeenException == true Can be set via setActiveExcept...
size_t _readTransfer_counter
void interrupt() override
VersionNumber _postWrite_version
TransferType
Used to indicate the applicable operation on a Transferelement.
bool _throwRuntimeErrInTransfer
~TransferElementTestAccessor() override
UserType _setPostReadData
bool _throwRuntimeErrInPre
void putDiscardValueOnQueue()
cppext::future_queue< void > _readQueue
The queue for asynchronous read transfers.
TransferType _transferType_pre
void replaceTransferElement(boost::shared_ptr< TransferElement > newElement) override
Class for generating and holding version numbers without exposing a numeric representation.
cppext::future_queue< void > _readQueue
The queue for asynchronous read transfers.
std::list< TransferElementID > _listReplacementElements
static std::atomic< size_t > _currentIndex
Set of AccessMode flags with additional functionality for an easier handling.
void putRuntimeErrorOnQueue()
AccessModeFlags _accessModeFlags
The access mode flags for this transfer element.
void doPostRead(TransferType type, bool updateDataBuffer) override
bool _throwRuntimeErrInPreconditions
TransferType _transferType_post
size_t _postWrite_counter
N-dimensional register accessor.
bool isReadable() const override
Exception thrown when a logic error has occured.
std::vector< boost::shared_ptr< TransferElement > > _hardwareAccessingElements
VersionNumber _versionNumber
The version number of the last successful transfer.