FBB::Tty(3bobcat) | Controls echoing of characters | FBB::Tty(3bobcat) |
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:
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).
2005-2023 | libbobcat-dev_6.03.02 |