xtd 0.2.0
Loading...
Searching...
No Matches
xtd::console_key_info Class Referencefinal
Inheritance diagram for xtd::console_key_info:
xtd::object xtd::iequatable< console_key_info > xtd::interface xtd::equality_operators< type_t, equatable_t >

Definition

Specifies the standard keys on a console.

Header
#include <xtd/console_key_info>
Namespace
xtd
Library
xtd.core
See also
Console
Examples
console_clear.cpp, and console_key_available.cpp.

Public Constructors

 console_key_info () noexcept=default
 Create a new instance of console_key_info class.
 
 console_key_info (char32 key_char, console_key key, bool shift, bool alt, bool control) noexcept
 Initializes a new instance of the console_key_info class using the specified character, console key, and modifier keys.
 

Public Properties

console_key key () const noexcept
 Gets the console key represented by the current console_key_info object.
 
char32 key_char () const noexcept
 Gets the Unicode character represented by the current console_key_info object.
 
console_modifiers modifiers () const noexcept
 Gets a bitwise combination of console_modifiers values that specifies one or more modifier keys pressed simultaneously with the console key.
 

Public Methods

bool equals (const console_key_info &key_info) const noexcept override
 Indicates whether the current object is equal to another object of the same type.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 

Additional Inherited Members

- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
virtual xtd::string to_string () const noexcept
 Returns a xtd::string that represents the current object.
 
- Public Member Functions inherited from xtd::iequatable< console_key_info >
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 

Constructor & Destructor Documentation

◆ console_key_info() [1/2]

xtd::console_key_info::console_key_info ( )
defaultnoexcept

Create a new instance of console_key_info class.

Remarks
This type is not intended to be created by users. Instead, it is returned to the user in response to calling the Console::ReadKey method.
The console_key_info type does not specify whether the left or right SHIFT, ALT, or CTRL modifier key was pressed

◆ console_key_info() [2/2]

xtd::console_key_info::console_key_info ( char32  key_char,
console_key  key,
bool  shift,
bool  alt,
bool  control 
)
noexcept

Initializes a new instance of the console_key_info class using the specified character, console key, and modifier keys.

Parameters
keyCharThe Unicode character that corresponds to the key parameter.
keyThe console key that corresponds to the keyChar parameter.
shifttrue to indicate that a SHIFT key was pressed; otherwise, false.
alttrue to indicate that an ALT key was pressed; otherwise, false.
controltrue to indicate that a CTRL key was pressed; otherwise, false.
Remarks
This type is not intended to be created by users. Instead, it is returned to the user in response to calling the Console::ReadKey method.
The console_key_info type does not specify whether the left or right SHIFT, ALT, or CTRL modifier key was pressed

Member Function Documentation

◆ key()

console_key xtd::console_key_info::key ( ) const
noexcept

Gets the console key represented by the current console_key_info object.

Parameters
Aconsole_key value that identifies the console key that was pressed

◆ key_char()

char32 xtd::console_key_info::key_char ( ) const
noexcept

Gets the Unicode character represented by the current console_key_info object.

Parameters
Anchar32 object that corresponds to the console key represented by the current console_key_info object.

◆ modifiers()

console_modifiers xtd::console_key_info::modifiers ( ) const
noexcept

Gets a bitwise combination of console_modifiers values that specifies one or more modifier keys pressed simultaneously with the console key.

Parameters
Abitwise combination of console_modifiers values. There is no default value.

◆ equals() [1/3]

bool xtd::console_key_info::equals ( const console_key_info ) const
overridevirtualnoexcept

Indicates whether the current object is equal to another object of the same type.

Parameters
objAn object to compare with this object.
Returns
true if the current object is equal to the other parameter; otherwise, false.

Implements xtd::iequatable< console_key_info >.

◆ equals() [2/3]

virtual bool xtd::object::equals ( const object obj) const
virtualnoexcept

Determines whether the specified object is equal to the current object.

Parameters
objThe object to compare with the current object.
Returns
true if the specified object is equal to the current object. otherwise, false.
Examples
The following code example compares the current instance with another object.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
auto object1 = new_ptr<object>();
auto object2 = new_ptr<object>();
auto object3 = object2;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
object3 = object1;
console::write_line(object1->equals(*object3));
console::write_line(*object1 == *object3);
}
// This code produces the following output :
//
// false
// false
// true
// true
static void write_line()
Writes the current line terminator to the standard output stream using the specified format informati...
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10

Reimplemented from xtd::object.

◆ equals() [3/3]

template<typename object_a_t , typename object_b_t >
static bool xtd::object::equals ( const object_a_t &  object_a,
const object_b_t &  object_b 
)
inlinestaticnoexcept

Determines whether the specified object instances are considered equal.

Parameters
object_aThe first object to compare.
object_bThe second object to compare.
Returns
true if object_a is the same instance as object_b or if both are null references or if object_a(object_b) returns true. otherwise, false.
Examples
The following code example compares different objects.
#include <xtd/console>
using namespace xtd;
auto main() -> int {
string s1 = "Tom";
string s2 = "Carol";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Tom";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "Tom";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "Carol";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
s1 = "";
s2 = "";
console::write_line("object::equals(\"{0}\", \"{1}\") => {2}", s1, s2, object::equals(s1, s2));
}
// This code produces the following output :
//
// object::equals("Tom", "Carol") => false
// object::equals("Tom", "Tom") => true
// object::equals("", "Tom") => false
// object::equals("Carol", "") => false
// object::equals("", "") => true
virtual bool equals(const object &obj) const noexcept
Determines whether the specified object is equal to the current object.

The documentation for this class was generated from the following file: