Replace std::clamp with util::clamp and reformat the code (#321)

* Replace std::clamp with util::clamp
* Apply clang-format
* Execute ./tools/iwyu.sh

Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
This commit is contained in:
Nikola Dućak 2022-02-05 15:03:45 +01:00 committed by GitHub
parent 372d0ace4a
commit 689d5dd299
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 29 additions and 21 deletions

View File

@ -1,5 +1,13 @@
#include "ftxui/component/component.hpp" // for Menu #include <cstdlib> // for system, EXIT_SUCCESS
#include <iostream> // for operator<<, basic_ostream, basic_ostream::operator<<, cout, endl, flush, ostream, basic_ostream<>::__ostream_type, cin
#include <memory> // for shared_ptr, __shared_ptr_access, allocator
#include <string> // for getline, string
#include "ftxui/component/captured_mouse.hpp" // for ftxui
#include "ftxui/component/component.hpp" // for Button, Horizontal, Renderer
#include "ftxui/component/component_base.hpp" // for ComponentBase
#include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive #include "ftxui/component/screen_interactive.hpp" // for ScreenInteractive
#include "ftxui/dom/elements.hpp" // for operator|, filler, Element, borderEmpty, hbox, size, paragraph, vbox, LESS_THAN, border, center, HEIGHT, WIDTH
int main() { int main() {
using namespace ftxui; using namespace ftxui;
@ -10,14 +18,14 @@ int main() {
// temporarily uninstall the terminal hook and execute the provided callback // temporarily uninstall the terminal hook and execute the provided callback
// function. This allow running the application in a non-interactive mode. // function. This allow running the application in a non-interactive mode.
auto btn_run = Button("Execute with restored IO", screen.WithRestoredIO([] { auto btn_run = Button("Execute with restored IO", screen.WithRestoredIO([] {
std::system("bash"); std::system("bash");
std::cout << "This is a child program using stdin/stdout." << std::endl; std::cout << "This is a child program using stdin/stdout." << std::endl;
for (int i = 0; i < 10; ++i) { for (int i = 0; i < 10; ++i) {
std::cout << "Please enter 10 strings (" << i << "/10)" << std::flush; std::cout << "Please enter 10 strings (" << i << "/10)" << std::flush;
std::string input; std::string input;
std::getline(std::cin, input); std::getline(std::cin, input);
} }
std::system("bash"); std::system("bash");
})); }));
auto btn_quit = Button("Quit", screen.ExitLoopClosure()); auto btn_quit = Button("Quit", screen.ExitLoopClosure());

View File

@ -5,7 +5,7 @@
#include <string> // for string #include <string> // for string
#include <vector> // for vector #include <vector> // for vector
#include "ftxui/dom/elements.hpp" // for BorderStyle, LIGHT, Element, Decorator #include "ftxui/dom/elements.hpp" // for Element, BorderStyle, LIGHT, Decorator
namespace ftxui { namespace ftxui {

View File

@ -1,5 +1,5 @@
#include <iostream>
#include <cassert> #include <cassert>
#include <iostream>
#include <vector> #include <vector>
#include "ftxui/component/component.hpp" #include "ftxui/component/component.hpp"
#include "ftxui/component/terminal_input_parser.hpp" #include "ftxui/component/terminal_input_parser.hpp"

View File

@ -1,5 +1,5 @@
#include <stddef.h> // for size_t #include <stddef.h> // for size_t
#include <algorithm> // for clamp, max, min #include <algorithm> // for max, min
#include <functional> // for function #include <functional> // for function
#include <memory> // for shared_ptr, allocator #include <memory> // for shared_ptr, allocator
#include <string> // for string, wstring #include <string> // for string, wstring
@ -17,6 +17,7 @@
#include "ftxui/dom/elements.hpp" // for operator|, text, Element, reflect, inverted, Decorator, flex, focus, hbox, size, bold, dim, frame, select, EQUAL, HEIGHT #include "ftxui/dom/elements.hpp" // for operator|, text, Element, reflect, inverted, Decorator, flex, focus, hbox, size, bold, dim, frame, select, EQUAL, HEIGHT
#include "ftxui/screen/box.hpp" // for Box #include "ftxui/screen/box.hpp" // for Box
#include "ftxui/screen/string.hpp" // for GlyphPosition, GlyphCount, to_string, CellToGlyphIndex, to_wstring #include "ftxui/screen/string.hpp" // for GlyphPosition, GlyphCount, to_string, CellToGlyphIndex, to_wstring
#include "ftxui/screen/util.hpp" // for clamp
#include "ftxui/util/ref.hpp" // for StringRef, Ref, WideStringRef, ConstStringRef #include "ftxui/util/ref.hpp" // for StringRef, Ref, WideStringRef, ConstStringRef
namespace ftxui { namespace ftxui {
@ -189,7 +190,7 @@ class InputBase : public ComponentBase {
auto mapping = CellToGlyphIndex(*content_); auto mapping = CellToGlyphIndex(*content_);
int original_glyph = cursor_position(); int original_glyph = cursor_position();
original_glyph = std::clamp(original_glyph, 0, int(mapping.size())); original_glyph = util::clamp(original_glyph, 0, int(mapping.size()));
int original_cell = 0; int original_cell = 0;
for (size_t i = 0; i < mapping.size(); i++) { for (size_t i = 0; i < mapping.size(); i++) {
if (mapping[i] == original_glyph) { if (mapping[i] == original_glyph) {
@ -202,7 +203,7 @@ class InputBase : public ComponentBase {
int target_cell = original_cell + event.mouse().x - cursor_box_.x_min; int target_cell = original_cell + event.mouse().x - cursor_box_.x_min;
int target_glyph = target_cell < (int)mapping.size() ? mapping[target_cell] int target_glyph = target_cell < (int)mapping.size() ? mapping[target_cell]
: (int)mapping.size(); : (int)mapping.size();
target_glyph = std::clamp(target_glyph, 0, GlyphCount(*content_)); target_glyph = util::clamp(target_glyph, 0, GlyphCount(*content_));
if (cursor_position() != target_glyph) { if (cursor_position() != target_glyph) {
cursor_position() = target_glyph; cursor_position() = target_glyph;
option_->on_change(); option_->on_change();

View File

@ -1,4 +1,4 @@
#include <algorithm> // for clamp, max #include <algorithm> // for max
#include <functional> // for function #include <functional> // for function
#include <memory> // for shared_ptr, allocator_traits<>::value_type #include <memory> // for shared_ptr, allocator_traits<>::value_type
#include <string> // for operator+, string #include <string> // for operator+, string
@ -13,9 +13,9 @@
#include "ftxui/component/mouse.hpp" // for Mouse, Mouse::Left, Mouse::Released, Mouse::WheelDown, Mouse::WheelUp, Mouse::None #include "ftxui/component/mouse.hpp" // for Mouse, Mouse::Left, Mouse::Released, Mouse::WheelDown, Mouse::WheelUp, Mouse::None
#include "ftxui/component/screen_interactive.hpp" // for Component #include "ftxui/component/screen_interactive.hpp" // for Component
#include "ftxui/dom/elements.hpp" // for operator|, Element, reflect, text, nothing, select, vbox, Elements, focus #include "ftxui/dom/elements.hpp" // for operator|, Element, reflect, text, nothing, select, vbox, Elements, focus
#include "ftxui/screen/box.hpp" // for Box #include "ftxui/screen/box.hpp" // for Box
#include "ftxui/screen/util.hpp" #include "ftxui/screen/util.hpp" // for clamp
#include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef, ConstStringRef #include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef, ConstStringRef
namespace ftxui { namespace ftxui {

View File

@ -1,4 +1,4 @@
#include <algorithm> // for clamp, max #include <algorithm> // for max
#include <functional> // for function #include <functional> // for function
#include <memory> // for shared_ptr, allocator_traits<>::value_type #include <memory> // for shared_ptr, allocator_traits<>::value_type
#include <string> // for string #include <string> // for string
@ -14,8 +14,8 @@
#include "ftxui/component/screen_interactive.hpp" // for Component #include "ftxui/component/screen_interactive.hpp" // for Component
#include "ftxui/dom/elements.hpp" // for operator|, reflect, text, Element, hbox, vbox, Elements, focus, nothing, select #include "ftxui/dom/elements.hpp" // for operator|, reflect, text, Element, hbox, vbox, Elements, focus, nothing, select
#include "ftxui/screen/box.hpp" // for Box #include "ftxui/screen/box.hpp" // for Box
#include "ftxui/screen/util.hpp" #include "ftxui/screen/util.hpp" // for clamp
#include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef #include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef
namespace ftxui { namespace ftxui {

View File

@ -277,7 +277,6 @@ CapturedMouse ScreenInteractive::CaptureMouse() {
} }
void ScreenInteractive::Loop(Component component) { void ScreenInteractive::Loop(Component component) {
// Suspend previously active screen: // Suspend previously active screen:
if (g_active_screen) { if (g_active_screen) {
std::swap(suspended_screen_, g_active_screen); std::swap(suspended_screen_, g_active_screen);

View File

@ -1,4 +1,4 @@
#include <algorithm> // for clamp, max #include <algorithm> // for max
#include <functional> // for function #include <functional> // for function
#include <memory> // for shared_ptr, allocator_traits<>::value_type #include <memory> // for shared_ptr, allocator_traits<>::value_type
#include <utility> // for move #include <utility> // for move
@ -12,8 +12,8 @@
#include "ftxui/component/mouse.hpp" // for Mouse, Mouse::Left, Mouse::Pressed #include "ftxui/component/mouse.hpp" // for Mouse, Mouse::Left, Mouse::Pressed
#include "ftxui/dom/elements.hpp" // for operator|, Element, Elements, hbox, reflect, separator, text, focus, nothing, select #include "ftxui/dom/elements.hpp" // for operator|, Element, Elements, hbox, reflect, separator, text, focus, nothing, select
#include "ftxui/screen/box.hpp" // for Box #include "ftxui/screen/box.hpp" // for Box
#include "ftxui/screen/util.hpp" #include "ftxui/screen/util.hpp" // for clamp
#include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef #include "ftxui/util/ref.hpp" // for Ref, ConstStringListRef
namespace ftxui { namespace ftxui {

View File

@ -41,10 +41,10 @@ Table::Table() {
Table::Table(std::vector<std::vector<std::string>> input) { Table::Table(std::vector<std::vector<std::string>> input) {
std::vector<std::vector<Element>> output; std::vector<std::vector<Element>> output;
for(auto& row : input) { for (auto& row : input) {
output.push_back({}); output.push_back({});
auto& output_row = output.back(); auto& output_row = output.back();
for(auto& cell : row) { for (auto& cell : row) {
output_row.push_back(text(cell)); output_row.push_back(text(cell));
} }
} }