#include <DataHeader.h>
Public Types | |
typedef boost::shared_ptr < const Stamped< DataType > > | ConstPtr |
Convenience smart pointer typedef. | |
typedef boost::shared_ptr < Stamped< DataType > > | Ptr |
Convenience smart pointer typedef. | |
Public Member Functions | |
const DataType & | cget () const |
DataType & | get () |
const DataType & | get () const |
virtual DataHeader & | header () |
Access the data header. | |
virtual const DataHeader & | header () const |
Access the data header (const version). | |
operator DataType () const | |
Implicit conversion back to the original data type. | |
DataType & | operator* () |
Quick access to the wrapped data. | |
const DataType & | operator* () const |
Quick access to the wrapped data. | |
DataType * | operator-> () |
Quick access to the wrapped data. | |
const DataType * | operator-> () const |
Quick access to the wrapped data. | |
virtual void | print (std::ostream &os) const |
Stamped () | |
Default constructor which leaves the data uninitialized. | |
Stamped (const DataType &data) | |
Implicit construction from a data value. | |
Stamped (const DataHeader &header) | |
Implicit construction from a data header. | |
Stamped (const DataType &data, const DataHeader &header) | |
Full constructor. | |
Private Attributes | |
DataType | m_data |
The wrapped data. | |
DataHeader | m_header |
The data header. |
A generic wrapper for combining any kind of data with a DataHeader.
Definition at line 163 of file DataHeader.h.
typedef boost::shared_ptr<const Stamped<DataType> > icl_core::Stamped< DataType >::ConstPtr |
Convenience smart pointer typedef.
Reimplemented from icl_core::StampedBase.
Definition at line 185 of file DataHeader.h.
typedef boost::shared_ptr<Stamped<DataType> > icl_core::Stamped< DataType >::Ptr |
Convenience smart pointer typedef.
Reimplemented from icl_core::StampedBase.
Definition at line 183 of file DataHeader.h.
icl_core::Stamped< DataType >::Stamped | ( | ) | [inline] |
Default constructor which leaves the data uninitialized.
Definition at line 188 of file DataHeader.h.
icl_core::Stamped< DataType >::Stamped | ( | const DataType & | data | ) | [inline] |
Implicit construction from a data value.
Definition at line 193 of file DataHeader.h.
icl_core::Stamped< DataType >::Stamped | ( | const DataHeader & | header | ) | [inline] |
Implicit construction from a data header.
Definition at line 199 of file DataHeader.h.
icl_core::Stamped< DataType >::Stamped | ( | const DataType & | data, |
const DataHeader & | header | ||
) | [inline] |
Full constructor.
Definition at line 204 of file DataHeader.h.
const DataType& icl_core::Stamped< DataType >::cget | ( | ) | const [inline] |
Explicitly const access to the wrapped data. This is in anticipation of C++11, to allow correct type deduction for the auto keyword.
Definition at line 229 of file DataHeader.h.
DataType& icl_core::Stamped< DataType >::get | ( | ) | [inline] |
Access to the wrapped data. While direct access to the #data member is allowed, the access functions should be preferred.
Definition at line 220 of file DataHeader.h.
const DataType& icl_core::Stamped< DataType >::get | ( | ) | const [inline] |
Access to the wrapped data. While direct access to the #data member is allowed, the access functions should be preferred.
Definition at line 224 of file DataHeader.h.
virtual DataHeader& icl_core::Stamped< DataType >::header | ( | ) | [inline, virtual] |
Access the data header.
Implements icl_core::StampedBase.
Definition at line 213 of file DataHeader.h.
virtual const DataHeader& icl_core::Stamped< DataType >::header | ( | ) | const [inline, virtual] |
Access the data header (const version).
Implements icl_core::StampedBase.
Definition at line 215 of file DataHeader.h.
icl_core::Stamped< DataType >::operator DataType | ( | ) | const [inline] |
Implicit conversion back to the original data type.
Definition at line 210 of file DataHeader.h.
DataType& icl_core::Stamped< DataType >::operator* | ( | ) | [inline] |
Quick access to the wrapped data.
Definition at line 232 of file DataHeader.h.
const DataType& icl_core::Stamped< DataType >::operator* | ( | ) | const [inline] |
Quick access to the wrapped data.
Definition at line 234 of file DataHeader.h.
DataType* icl_core::Stamped< DataType >::operator-> | ( | ) | [inline] |
Quick access to the wrapped data.
Definition at line 237 of file DataHeader.h.
const DataType* icl_core::Stamped< DataType >::operator-> | ( | ) | const [inline] |
Quick access to the wrapped data.
Definition at line 239 of file DataHeader.h.
virtual void icl_core::Stamped< DataType >::print | ( | std::ostream & | os | ) | const [inline, virtual] |
Prints the contents to the given output stream. Note that this method tries to produce output for #data only if it is known at compile time that a suitable stream operator is available. This relies on the boost::has_left_shift<> type trait. Note that there are some (rare) cases where this might not work as expected (see the Boost TypeTraits documentation for details):
Implements icl_core::StampedBase.
Definition at line 262 of file DataHeader.h.
DataType icl_core::Stamped< DataType >::m_data [private] |
The wrapped data.
Definition at line 170 of file DataHeader.h.
DataHeader icl_core::Stamped< DataType >::m_header [private] |
The data header.
Definition at line 172 of file DataHeader.h.