theCore C++ embedded framework
streams.cpp File Reference

Main iostream module. More...

#include <ecl/iostream.hpp>
#include <type_traits>
#include <new>
Include dependency graph for streams.cpp:

Namespaces

 ecl
 

Typedefs

using ecl::cin_type = istream< console_driver >
 
using ecl::cout_type = ostream< console_driver >
 
using ecl::cerr_type = ostream< console_driver >
 

Variables

static int ecl::nifty_counter
 Tracks initialization and destruction. More...
 
static std::aligned_storage< sizeof(console_driver), alignof(console_driver) >::type ecl::console_obj_buf
 Memory for the console device driver. More...
 
static std::aligned_storage< sizeof(cin_type), alignof(cin_type) >::type ecl::cin_obj_buf
 Memory for the cin object. More...
 
static std::aligned_storage< sizeof(cout_type), alignof(cout_type) >::type ecl::cout_obj_buf
 Memory for the cout object. More...
 
static std::aligned_storage< sizeof(cerr_type), alignof(cerr_type) >::type ecl::cerr_obj_buf
 Memory for the cerr object. More...
 
istream< console_driver >::device_type & ecl::console_device = reinterpret_cast< console_driver& >(console_obj_buf)
 
cin_type & ecl::cin = reinterpret_cast< cin_type& >(cin_obj_buf)
 
cout_type & ecl::cout = reinterpret_cast< cout_type& >(cout_obj_buf)
 
cerr_type & ecl::cerr = reinterpret_cast< cerr_type& >(cerr_obj_buf)
 

Detailed Description

Main iostream module.

Nifty counter idiom is used here. See wiki article about that