logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

libbobcat-dev_6.07.01                               2005-2025                                  FBB::Tty(3bobcat)

Bobcat

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

Bobcat Project Files

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

       Debian Bobcat project files:

       o      libbobcat6: debian package containing the shared library, changelog and copyright note;

       o      libbobcat-dev: debian package containing the static library, headers, manual pages, and  developer
              info;

Bugs

       None Reported.

Constructors

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

       o      Tty(EchoTypetype):
              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.

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.

Enum

       The enumEchoType 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.

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

Inherits From

       -

Member Function

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

Name

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

Namespace

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

Overloaded Operators

       o      std::istream&operator>>(std::istream&in,Ttyconst&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,Ttyconst&tty):
              The  insertion  operator does not affect out, but /dev/tty’s state is set according to the way the
              tty object was constructed.

See Also

bobcat(7), onekey(3bobcat)

Synopsis

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

See Also