|
μHAL (v2.7.9)
Part of the IPbus software repository
|
Go to the documentation of this file.
40 #ifndef _uhal_ValMem_hpp_
41 #define _uhal_ValMem_hpp_
49 #include <boost/shared_ptr.hpp>
61 UHAL_DEFINE_EXCEPTION_CLASS ( NonValidatedMemory ,
"Exception class to handle the case of attempted access on unvalidated memory." )
63 UHAL_DEFINE_EXCEPTION_CLASS ( ValMemImutabilityViolation , "Exception class to handle the case of attempted modification of validated memory." )
67 class ClientInterface;
101 template<
typename T >
120 _ValWord_ (
const T& aValue ,
const bool& aValid ,
const uint32_t aMask );
125 template<
typename T >
130 std::vector<T> value;
141 _ValVector_ (
const std::vector<T>& aValue ,
const bool& aValid );
160 template<
typename T >
167 template<
typename T >
179 void valid (
bool aValid );
188 template<
typename T >
225 void valid (
bool aValid );
232 ValWord& operator = (
const T& aValue );
250 void value (
const T& aValue );
256 const uint32_t& mask()
const;
262 void mask (
const uint32_t& aMask );
272 template<
typename T >
283 typedef typename std::vector< T >::iterator
iterator;
296 ValVector (
const std::vector<T>& aValues );
323 void valid (
bool aValid );
330 template <
class InputIterator>
void assign ( InputIterator aBegin , InputIterator aEnd );
336 void push_back (
const T& aValue );
343 const T& operator[] ( std::size_t aIndex )
const;
350 const T& at ( std::size_t aIndex )
const;
356 std::size_t size()
const;
389 std::vector<T> value()
const;
395 void value (
const std::vector<T>& aValue );
A class which wraps a block of data and marks whether or not it is valid.
#define UHAL_DEFINE_EXCEPTION_CLASS(ClassName, ClassDescription)
std::vector< T >::iterator iterator
typedef iterator to be that of the underlying storage type
T value
A register for storing data.
An abstract base class for defining the interface to the various IPbus clients as well as providing t...
boost::shared_ptr< _ValWord_< T > > mMembers
A shared pointer to a ValWord struct, so that every copy of this ValWord points to the same underlyin...
std::vector< T >::const_reverse_iterator const_reverse_iterator
typedef iterator to be that of the underlying storage type
std::vector< T >::const_iterator const_iterator
typedef iterator to be that of the underlying storage type
std::vector< T >::reverse_iterator reverse_iterator
typedef iterator to be that of the underlying storage type
A class which wraps a single word of data and marks whether or not it is valid.
A Template helper struct wrapping a block of IPbus header, a register for storing a block of data and...
A Template helper struct wrapping an IPbus header, a register for storing a single word of data,...
const uint32_t NOMASK
define what it means to have no mask
boost::shared_ptr< _ValVector_< T > > mMembers
A shared pointer to a ValVector struct, so that every copy of this ValVector points to the same under...