Provided by: libbobcat-dev_6.03.02-2_amd64 bug

NAME

       FBB::Tty - Controls echoing of characters entered at the terminal

SYNOPSIS

       #include <bobcat/tty>
       Linking option: -lbobcat

DESCRIPTION

       Tty(3bobcat)  objects  can  be  used  to  control the echoing of characters entered at the
       terminal (usually at /dev/tty). Directly reading from /dev/tty  allows  programs  to  read
       information  (e.g.,  passwords  or  pass  phrases)  even  if  the standard input stream is
       redirected to a file. Unless redirected, std::cin is connected to /dev/tty.

       Tty(3bobcat)  objects  may  be  used  as  stand-alone  objects  or   (usually   anonymous)
       Tty(3bobcat)  objects  may  be  inserted into or extracted from streams. When inserting or
       extracting objects the involved streams are not affected; only the echoing  of  characters
       entered at /dev/tty is manipulated.

       Tty(3bobcat)’s destructor does not reset the echo-state of /dev/tty to its original value.
       If  that  is  required  a  Tty(3bobcat)  object  must  be  created  first,   calling   its
       echo(Tty::RESET) member at the appropriate time.

NAMESPACE

       FBB
       All  constructors,  members,  operators  and manipulators, mentioned in this man-page, are
       defined in the namespace FBB.

INHERITS FROM

       -

ENUM

       The enum EchoType requests the type of echo-handling:

       o      RESET is used to reset /dev/tty’s state to the actual  state  when  a  Tty(3bobcat)
              object was constructed

       o      ON is used to activate echoing of characters entered at /dev/tty.

       o      OFF is used to suppress echoing of characters entered at /dev/tty.

CONSTRUCTORS

       o      Tty():
              The current state of /dev/tty is saved.

       o      Tty(EchoType type):
              The  current  state  of  /dev/tty  is  saved, and the object’s member echo(type) is
              called.

       Copy and move constructors (and assignment operators) are available.

OVERLOADED OPERATORS

       o      std::istream &operator>>(std::istream &in, Tty const &tty):
              The extraction operator does not affect in, but /dev/tty’s state is  set  according
              to the way the tty object was constructed.

       o      std::ostream &operator<<(std::ostream &out, Tty const &tty):
              The  insertion  operator does not affect out, but /dev/tty’s state is set according
              to the way the tty object was constructed.

MEMBER FUNCTION

       o      echo(EchoType type):
              /Dev/tty’s state is set according to the EchoType value  that  is  passed  to  this
              member.

EXAMPLE

       #include <iostream>
       #include <string>

       #include <bobcat/tty>

       using namespace std;
       using namespace FBB;

       int main()
       {
           cout << "Enter some text (not echoed): " << Tty(Tty::OFF);
           string line;
           getline(cin, line);
           cout << "\n"
                   "You entered: `" << line << "’\n";

           cout << "Enter some text (echoed): ";
           getline(cin >> Tty(Tty::ON), line);
           cout << "You entered: `" << line << "’\n";
       }

FILES

       bobcat/tty - defines the class interface

SEE ALSO

       bobcat(7), onekey(3bobcat)

BUGS

       None Reported.

BOBCAT PROJECT FILES

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       o      bobcat_6.03.02-x.dsc: detached signature;

       o      bobcat_6.03.02-x.tar.gz: source archive;

       o      bobcat_6.03.02-x_i386.changes: change log;

       o      libbobcat1_6.03.02-x_*.deb: debian package containing the libraries;

       o      libbobcat1-dev_6.03.02-x_*.deb:  debian  package  containing the libraries, headers
              and manual pages;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT

       This is free software, distributed under the terms  of  the  GNU  General  Public  License
       (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).