Documentation Status

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Released Continuous integration Documented

These are lightweight text streaming classes that connect to standardised ecl type devices.

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Released Continuous integration Documented

These are lightweight text streaming classes that connect to standardised ecl type devices.

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Released Continuous integration Documented

These are lightweight text streaming classes that connect to standardised ecl type devices.

ecl_core: ecl_command_line | ecl_concepts | ecl_containers | ecl_converters | ecl_core_apps | ecl_devices | ecl_eigen | ecl_exceptions | ecl_formatters | ecl_geometry | ecl_ipc | ecl_linear_algebra | ecl_math | ecl_mpl | ecl_sigslots | ecl_statistics | ecl_streams | ecl_threads | ecl_time | ecl_type_traits | ecl_utilities

Package Summary

Released Continuous integration Documented

These are lightweight text streaming classes that connect to standardised ecl type devices.

Cannot load information on name: ecl_streams, distro: lunar, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
Cannot load information on name: ecl_streams, distro: melodic, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

Overview

Streams provide a standardised c++ interface for connecting to ecl input-output devices.

  • speed : control cannot afford serious slowdowns for convenience.

  • extensible : must be able to create new devices easily.

  • streams : all devices should connect in a standardised way to streams.

Other Streaming Libraries

Finding a library with a standard/extensible interface that works across devices and implements streaming operators is like trying to find the pot at the bottom of the rainbow.

Compiling & Linking

Include the following at the top of any translation unit:

   1 #include <ecl/streams.hpp>
   2 
   3 // Templatised all purpose stream
   4 using ecl::TextStream;
   5 
   6 // Convenience stream handles
   7 using ecl::IConsoleStream;
   8 using ecl::OConsoleStream;
   9 using ecl::EConsoleStream;
  10 using ecl::OFileStream;
  11 using ecl::SerialStream;
  12 using ecl::SharedFileStream;
  13 using ecl::SocketClientStream;
  14 using ecl::SocketServerStream;
  15 using ecl::StringStream;
  16 
  17 // Special customised streams
  18 using ecl::LogStream;
  19 
  20 // Stream manipulators
  21 using ecl::endl;
  22 using ecl::clrscr;

If outside ros, you will also need to link to ecl_streams.

Tutorials

Wiki: ecl_streams (last edited 2012-01-30 00:45:18 by DanielStonier)