xtd 0.2.0
beep.h
Go to the documentation of this file.
1 #pragma once
5 #include "console.h"
6 #include "object.h"
7 
9 namespace xtd {
19  class beep final : public object {
20  public:
22 
29  beep() = default;
30 
37  beep(uint32 frequency, uint32 duration) : frequency_(frequency), duration_(duration) {}
38  // @}
39 
41  friend std::ostream& operator <<(std::ostream& os, const beep& b) {
42  if (!console::is_output_redirected() && os.rdbuf() == console::out.rdbuf())
43  console::beep(b.frequency_, b.duration_);
44  return os;
45  }
47 
48  private:
49  uint32 frequency_ {800};
50  uint32 duration_ {200};
51  };
52 }
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
beep()=default
Plays the sound of a beep through the console speaker.
beep(uint32 frequency, uint32 duration)
Plays the sound of a beep of a specified frequency and duration through the console speaker...
Definition: beep.h:37
static void beep()
Plays the sound of a beep through the console speaker.
Contains xtd::object class.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
Contains xtd::console class.
static bool is_output_redirected()
Gets a value that indicates whether the output stream has been redirected from the standard output st...
uint_least32_t uint32
Represents a 32-bit unsigned integer.
Definition: types.h:239
Represent beep output manipulator class.
Definition: beep.h:19
static std::ostream out
Gets the standard output stream. A std::basic_ostream<char_t> that represents the standard output str...
Definition: console.h:49