uTL
micro Template library
|
A virtual base class specialization. More...
#include <out_dev.h>
Public Types | |
using | type = out_dev_t |
Export type as identity meta-function. More... | |
using | data_type = data_t |
using | pointer_type = data_t * |
Public Member Functions | |
Public Put interface | |
size_t | put (const data_t &data) |
size_t | put (const data_t *data, size_t n) |
Stream operator<< interface | |
template<typename _Src_t > | |
out_dev_t & | operator<< (_Src_t &src) |
Template operator<< implementation for for all by value/ref parameters. More... | |
template<typename _Src_t > | |
out_dev_t & | operator<< (_Src_t *src)=delete |
Overload to disallow pointer types as source. More... | |
out_dev_t & | operator<< (const data_t &src) |
Overload for single data_t object. More... | |
iterator | end () noexcept |
const_iterator | end () const noexcept |
const_iterator | cend () const noexcept |
Private Types | |
using | out_dev_t = out_dev< virtual_tag, data_t, streamsize > |
class type syntactic sugar More... | |
Private Member Functions | |
Common output device interface requirements | |
virtual size_t | put_ (const data_t &data)=0 |
Put interface. This function should send a single data_t object to device. More... | |
virtual size_t | put_ (const data_t *data, size_t n)=0 |
Put interface. This function should send a stream of data_t objects to device. More... | |
Constructor / Destructor | |
virtual | ~out_dev ()=default |
Virtual destructor. More... | |
out_dev ()=default | |
A default constructor from derived only. More... | |
out_dev (const out_dev &)=delete | |
No copies. More... | |
out_dev_t & | operator= (const out_dev_t &)=delete |
STL-like Output iterator interface | |
using | iterator = outdev_it< out_dev_t, data_t *, streamsize > |
Iterator. More... | |
using | const_iterator = outdev_it< const out_dev_t, data_t *, streamsize > |
Const iterator. More... | |
iterator | begin () noexcept |
.begin implementation More... | |
const_iterator | begin () const noexcept |
const_iterator | cbegin () const noexcept |
A virtual base class specialization.
impl_t | = virtual_tag |
data_t | The devices base type of data |
streamsize | The number of elements to indicate eos. |
using utl::out_dev< virtual_tag, data_t, streamsize >::const_iterator = outdev_it <const out_dev_t, data_t*, streamsize> |
using utl::out_dev< virtual_tag, data_t, streamsize >::data_type = data_t |
using utl::out_dev< virtual_tag, data_t, streamsize >::iterator = outdev_it <out_dev_t, data_t*, streamsize> |
|
private |
using utl::out_dev< virtual_tag, data_t, streamsize >::pointer_type = data_t* |
using utl::out_dev< virtual_tag, data_t, streamsize >::type = out_dev_t |
|
virtualdefault |
Virtual destructor.
|
protecteddefault |
A default constructor from derived only.
|
protecteddelete |
No copies.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
delete |
Overload to disallow pointer types as source.
|
inline |
|
protecteddelete |
No copy assignments
|
inline |
|
inline |
|
privatepure virtual |
Put interface. This function should send a single data_t object to device.
data | The data to send |
|
privatepure virtual |
Put interface. This function should send a stream of data_t objects to device.
data | Pointer to buffer indenting write to device. |
n | The number of data of type data_t to send |