34 _impl = std::move(other._impl);
46 return _impl->getRegister(registerPathName);
52 return _impl->hasRegister(registerPathName);
58 return _impl->getNumberOfRegisters();
77 : _impl(
std::move(it)) {}
134 return *(
_impl->get());
Pure virtual implementation base class for the register catalogue.
virtual HiddenRange hiddenRegisters() const =0
DeviceBackend-independent register description.
Const iterator for iterating through the registers in the catalogue.
bool operator!=(const const_iterator &rightHandSide) const
std::unique_ptr< const_RegisterCatalogueImplIterator > _impl
const_iterator(std::unique_ptr< const_RegisterCatalogueImplIterator > it)
const BackendRegisterInfoBase * operator->()
const_iterator & operator--()
bool operator==(const const_iterator &rightHandSide) const
const_iterator & operator=(const const_iterator &other)
const BackendRegisterInfoBase & operator*()
const_iterator & operator++()
Catalogue of register information.
RegisterInfo getRegister(const RegisterPath ®isterPathName) const
Get register information for a given full path name.
std::unique_ptr< BackendRegisterCatalogueBase > _impl
size_t getNumberOfRegisters() const
Get number of registers in the catalogue.
bool hasRegister(const RegisterPath ®isterPathName) const
Check if register with the given path name exists.
HiddenRange hiddenRegisters() const
Returns non-owning range of all hidden registers in the catalogue.
RegisterCatalogue & operator=(const RegisterCatalogue &other)
const_iterator end() const
const_iterator begin() const
Return iterators for iterating through the registers in the catalogue.
const BackendRegisterCatalogueBase & getImpl() const
Return a const reference to the implementation object.
RegisterCatalogue(std::unique_ptr< BackendRegisterCatalogueBase > &&impl)
Class to store a register path name.
boost::any_range< BackendRegisterInfoBase, boost::forward_traversal_tag, const BackendRegisterInfoBase &, std::ptrdiff_t > HiddenRange
Forward range with type-erasure, used to get a range of hidden registers.