From 229cae78b5ec8b0302eb2ff2a3b8199cbea44f74 Mon Sep 17 00:00:00 2001 From: Miko <110693261+mikomikotaishi@users.noreply.github.com> Date: Wed, 12 Nov 2025 12:42:37 +0000 Subject: [PATCH] Use module partitions instead of full modules (#1146) Follow-up to #1015. This pull request replaces the full modules that represent headers, with partitions, to emphasise the belonging of the header to the module. This should hopefully provide a speedup to compilation, and confuse users less by aggregating the usable modules into a smaller set. --- doc/cpp20-modules.md | 55 +++++---------------- src/ftxui/component.cppm | 22 ++++----- src/ftxui/component/animation.cppm | 6 +-- src/ftxui/component/captured_mouse.cppm | 4 +- src/ftxui/component/component.cppm | 8 ++- src/ftxui/component/component_base.cppm | 8 ++- src/ftxui/component/component_options.cppm | 4 +- src/ftxui/component/event.cppm | 4 +- src/ftxui/component/loop.cppm | 4 +- src/ftxui/component/mouse.cppm | 4 +- src/ftxui/component/receiver.cppm | 4 +- src/ftxui/component/screen_interactive.cppm | 4 +- src/ftxui/component/task.cppm | 4 +- src/ftxui/dom.cppm | 22 ++++----- src/ftxui/dom/canvas.cppm | 6 +-- src/ftxui/dom/deprecated.cppm | 6 +-- src/ftxui/dom/direction.cppm | 4 +- src/ftxui/dom/elements.cppm | 6 +-- src/ftxui/dom/flexbox_config.cppm | 6 +-- src/ftxui/dom/linear_gradient.cppm | 6 +-- src/ftxui/dom/node.cppm | 6 +-- src/ftxui/dom/requirement.cppm | 6 +-- src/ftxui/dom/selection.cppm | 6 +-- src/ftxui/dom/table.cppm | 6 +-- src/ftxui/screen.cppm | 18 +++---- src/ftxui/screen/box.cppm | 4 +- src/ftxui/screen/color.cppm | 8 ++- src/ftxui/screen/color_info.cppm | 4 +- src/ftxui/screen/deprecated.cppm | 4 +- src/ftxui/screen/image.cppm | 4 +- src/ftxui/screen/pixel.cppm | 4 +- src/ftxui/screen/screen.cppm | 8 ++- src/ftxui/screen/string.cppm | 4 +- src/ftxui/screen/terminal.cppm | 8 ++- src/ftxui/util.cppm | 4 +- src/ftxui/util/autoreset.cppm | 4 +- src/ftxui/util/ref.cppm | 4 +- 37 files changed, 140 insertions(+), 149 deletions(-) diff --git a/doc/cpp20-modules.md b/doc/cpp20-modules.md index 74d1aeaa..23d83c2d 100644 --- a/doc/cpp20-modules.md +++ b/doc/cpp20-modules.md @@ -4,15 +4,15 @@ > [!WARNING] > This feature is still in development, and the API may change in future releases. > Your contribution is needed to help us improve the compatibility and usability -> of C++20 modules in FTXUI. If you encounter any issues or have suggestions, +> of C++ modules in FTXUI. If you encounter any issues or have suggestions, > please open an issue. FTXUI experimentally supports [C++20 modules](https://en.cppreference.com/w/cpp/language/modules) to reduce -compilation times and improve code organization. Each header has a -corresponding module. +compilation times and improve code organization. Each part of the library has a +corresponding module, split into partitions per each header. -Use the FTXUI_BUILD_MODULES option to build the FTXUI project itself to provide C++ 20 modules, +Use the FTXUI_BUILD_MODULES option to build the FTXUI project itself to provide C++20 modules, for example with CMake and Ninja: ```sh @@ -25,7 +25,7 @@ ninja ``` > [!NOTE] -> To use modules, you need a C++20 compatible compiler, CMake version 3.20 or +> To use modules, you need a C++≥20 compatible compiler, CMake version 3.20 or > higher, and use a compatible generator like Ninja. Note that Makefile > generators **do not support modules**. @@ -34,9 +34,12 @@ Then, in your own code you can consume the modules and code as normal: ```cpp import ftxui; +using ftxui::Button; +using ftxui::ScreenInteractive; + int main() { - auto screen = ftxui::ScreenInteractive::TerminalOutput(); - auto button = ftxui::Button("Click me", screen.QuitClosure()); + auto screen = ScreenInteractive::TerminalOutput(); + auto button = Button("Click me", screen.QuitClosure()); screen.Loop(button); return 0; } @@ -70,38 +73,6 @@ are available: - `ftxui` - `ftxui.component` - - `ftxui.component.Animation` - - `ftxui.component.CapturedMouse` - - `ftxui.component.Component` - - `ftxui.component.ComponentBase` - - `ftxui.component.ComponentOptions` - - `ftxui.component.Event` - - `ftxui.component.Loop` - - `ftxui.component.Mouse` - - `ftxui.component.Receiver` - - `ftxui.component.ScreenInteractive` - - `ftxui.component.Task` -- `ftxui.dom` - - `ftxui.dom.Canvas` - - `ftxui.dom.Deprecated` - - `ftxui.dom.Direction` - - `ftxui.dom.Elements` - - `ftxui.dom.FlexboxConfig` - - `ftxui.dom.LinearGradient` - - `ftxui.dom.Node` - - `ftxui.dom.Requirement` - - `ftxui.dom.Selection` - - `ftxui.dom.Table` -- `ftxui.screen` - - `ftxui.screen.Box` - - `ftxui.screen.Color` - - `ftxui.screen.ColorInfo` - - `ftxui.screen.Deprecated` - - `ftxui.screen.Image` - - `ftxui.screen.Pixel` - - `ftxui.screen.Screen` - - `ftxui.screen.String` - - `ftxui.screen.Terminal` -- `ftxui.util` - - `ftxui.util.AutoReset` - - `ftxui.util.Ref` + - `ftxui.dom` + - `ftxui.screen` + - `ftxui.util` diff --git a/src/ftxui/component.cppm b/src/ftxui/component.cppm index 2fd6b129..53781f0c 100644 --- a/src/ftxui/component.cppm +++ b/src/ftxui/component.cppm @@ -3,14 +3,14 @@ export module ftxui.component; -export import ftxui.component.animation; -export import ftxui.component.captured_mouse; -export import ftxui.component.component; -export import ftxui.component.component_base; -export import ftxui.component.component_options; -export import ftxui.component.event; -export import ftxui.component.loop; -export import ftxui.component.mouse; -export import ftxui.component.receiver; -export import ftxui.component.screen_interactive; -export import ftxui.component.task; +export import :Animation; +export import :CapturedMouse; +export import :Component; +export import :ComponentBase; +export import :ComponentOptions; +export import :Event; +export import :Loop; +export import :Mouse; +export import :Receiver; +export import :ScreenInteractive; +export import :Task; diff --git a/src/ftxui/component/animation.cppm b/src/ftxui/component/animation.cppm index 4ef34cc5..4038c29e 100644 --- a/src/ftxui/component/animation.cppm +++ b/src/ftxui/component/animation.cppm @@ -1,4 +1,4 @@ -/// @module ftxui.component.animation +/// @module ftxui.component:Animation /// @brief C++20 module interface for the Animation namespace of the Component module. /// @@ -6,7 +6,7 @@ module; #include -export module ftxui.component.animation; +export module ftxui.component:Animation; /** * @namespace ftxui::animation @@ -23,7 +23,7 @@ export namespace ftxui::animation { /** * @namespace easing - * @brief The FTXUI sf::animation::easing:: namespace + * @brief The FTXUI ftxui::animation::easing:: namespace */ namespace easing { using ftxui::animation::easing::Function; diff --git a/src/ftxui/component/captured_mouse.cppm b/src/ftxui/component/captured_mouse.cppm index 7593937b..db21325b 100644 --- a/src/ftxui/component/captured_mouse.cppm +++ b/src/ftxui/component/captured_mouse.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.captured_mouse +/// @module ftxui.component.CapturedMouse /// @brief Module file for the CapturedMouseInterface class of the Component module module; #include -export module ftxui.component.captured_mouse; +export module ftxui.component:CapturedMouse; /** * @namespace ftxui diff --git a/src/ftxui/component/component.cppm b/src/ftxui/component/component.cppm index 37c95856..8a8a6041 100644 --- a/src/ftxui/component/component.cppm +++ b/src/ftxui/component/component.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.component +/// @module ftxui.component:Component /// @brief Module file for the Component classes of the Component module module; #include -export module ftxui.component.component; +export module ftxui.component:Component; /** * @namespace ftxui @@ -28,6 +28,10 @@ export namespace ftxui { using ftxui::operator|; using ftxui::operator|=; + /** + * @namespace Container + * @brief The FTXUI ftxui::Container:: namespace + */ namespace Container { using ftxui::Container::Vertical; using ftxui::Container::Horizontal; diff --git a/src/ftxui/component/component_base.cppm b/src/ftxui/component/component_base.cppm index 13be0371..e899bb31 100644 --- a/src/ftxui/component/component_base.cppm +++ b/src/ftxui/component/component_base.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.component_base +/// @module ftxui.component:ComponentBase /// @brief Module file for the ComponentBase class of the Component module module; #include -export module ftxui.component.component_base; +export module ftxui.component:ComponentBase; /** * @namespace ftxui @@ -16,6 +16,10 @@ export namespace ftxui { using ftxui::Focus; using ftxui::Event; + /** + * @namespace animation + * @brief The FTXUI ftxui::animation:: namespace + */ namespace animation { using ftxui::animation::Params; } diff --git a/src/ftxui/component/component_options.cppm b/src/ftxui/component/component_options.cppm index 5aff50db..da641cae 100644 --- a/src/ftxui/component/component_options.cppm +++ b/src/ftxui/component/component_options.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.component_options +/// @module ftxui.component:ComponentOptions /// @brief Module file for options for the Component class of the Component module module; #include -export module ftxui.component.component_options; +export module ftxui.component:ComponentOptions; /** * @namespace ftxui diff --git a/src/ftxui/component/event.cppm b/src/ftxui/component/event.cppm index f7574b5d..26c01e33 100644 --- a/src/ftxui/component/event.cppm +++ b/src/ftxui/component/event.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.event +/// @module ftxui.component:Event /// @brief Module file for the Event struct of the Component module module; #include -export module ftxui.component.event; +export module ftxui.component:Event; /** * @namespace ftxui diff --git a/src/ftxui/component/loop.cppm b/src/ftxui/component/loop.cppm index ac5e7611..9ff4973f 100644 --- a/src/ftxui/component/loop.cppm +++ b/src/ftxui/component/loop.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.loop +/// @module ftxui.component:Loop /// @brief Module file for the Loop class of the Component module module; #include -export module ftxui.component.loop; +export module ftxui.component:Loop; /** * @namespace ftxui diff --git a/src/ftxui/component/mouse.cppm b/src/ftxui/component/mouse.cppm index 2c76d1ed..a3e712b3 100644 --- a/src/ftxui/component/mouse.cppm +++ b/src/ftxui/component/mouse.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.mouse +/// @module ftxui.component:Mouse /// @brief Module file for the Mouse struct of the Component module module; #include -export module ftxui.component.mouse; +export module ftxui.component:Mouse; /** * @namespace ftxui diff --git a/src/ftxui/component/receiver.cppm b/src/ftxui/component/receiver.cppm index aee92ff1..77df0690 100644 --- a/src/ftxui/component/receiver.cppm +++ b/src/ftxui/component/receiver.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.receiver +/// @module ftxui.component:Receiver /// @brief Module file for the Receiver class of the Component module module; #include -export module ftxui.component.receiver; +export module ftxui.component:Receiver; /** * @namespace ftxui diff --git a/src/ftxui/component/screen_interactive.cppm b/src/ftxui/component/screen_interactive.cppm index df569c13..f74626e8 100644 --- a/src/ftxui/component/screen_interactive.cppm +++ b/src/ftxui/component/screen_interactive.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.screen_interactive +/// @module ftxui.component:ScreenInteractive /// @brief Module file for the ScreenInteractive class of the Component module module; #include -export module ftxui.component.screen_interactive; +export module ftxui.component:ScreenInteractive; /** * @namespace ftxui diff --git a/src/ftxui/component/task.cppm b/src/ftxui/component/task.cppm index ab2e461b..63c5f1a4 100644 --- a/src/ftxui/component/task.cppm +++ b/src/ftxui/component/task.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.component.task +/// @module ftxui.component:Task /// @brief Module file for the Task class of the Component module module; #include -export module ftxui.component.task; +export module ftxui.component:Task; /** * @namespace ftxui diff --git a/src/ftxui/dom.cppm b/src/ftxui/dom.cppm index 58bc2bd7..758ae259 100644 --- a/src/ftxui/dom.cppm +++ b/src/ftxui/dom.cppm @@ -1,15 +1,15 @@ /// @module ftxui.dom -/// @brief Module file for FTXUI main operations. +/// @brief Module file for FTXUI DOM operations. export module ftxui.dom; -export import ftxui.dom.canvas; -export import ftxui.dom.deprecated; -export import ftxui.dom.direction; -export import ftxui.dom.elements; -export import ftxui.dom.flexbox_config; -export import ftxui.dom.linear_gradient; -export import ftxui.dom.node; -export import ftxui.dom.requirement; -export import ftxui.dom.selection; -export import ftxui.dom.table; +export import :Canvas; +export import :Deprecated; +export import :Direction; +export import :Elements; +export import :FlexboxConfig; +export import :LinearGradient; +export import :Node; +export import :Requirement; +export import :Selection; +export import :Table; diff --git a/src/ftxui/dom/canvas.cppm b/src/ftxui/dom/canvas.cppm index 7e4cc5cb..e1d63c92 100644 --- a/src/ftxui/dom/canvas.cppm +++ b/src/ftxui/dom/canvas.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.canvas -/// @brief Module file for the Canvas struct of the Dom module +/// @module ftxui.dom:Canvas +/// @brief Module file for the Canvas struct of the DOM module module; #include -export module ftxui.dom.canvas; +export module ftxui.dom:Canvas; /** * @namespace ftxui diff --git a/src/ftxui/dom/deprecated.cppm b/src/ftxui/dom/deprecated.cppm index f8c12b68..d060d354 100644 --- a/src/ftxui/dom/deprecated.cppm +++ b/src/ftxui/dom/deprecated.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.deprecated -/// @brief Module file for deprecated parts of the Dom module +/// @module ftxui.dom:Deprecated +/// @brief Module file for deprecated parts of the DOM module module; #include -export module ftxui.dom.deprecated; +export module ftxui.dom:Deprecated; /** * @namespace ftxui diff --git a/src/ftxui/dom/direction.cppm b/src/ftxui/dom/direction.cppm index 57991bc1..b6644b0d 100644 --- a/src/ftxui/dom/direction.cppm +++ b/src/ftxui/dom/direction.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.direction +/// @module ftxui.dom:Direction /// @brief Module file for the Direction enum of the Dom module module; #include -export module ftxui.dom.direction; +export module ftxui.dom:Direction; /** * @namespace ftxui diff --git a/src/ftxui/dom/elements.cppm b/src/ftxui/dom/elements.cppm index 43083801..f0034bcf 100644 --- a/src/ftxui/dom/elements.cppm +++ b/src/ftxui/dom/elements.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.elements -/// @brief Module file for the Element classes and functions of the Dom module +/// @module ftxui.dom:Elements +/// @brief Module file for the Element classes and functions of the DOM module module; #include -export module ftxui.dom.elements; +export module ftxui.dom:Elements; /** * @namespace ftxui diff --git a/src/ftxui/dom/flexbox_config.cppm b/src/ftxui/dom/flexbox_config.cppm index bd8ff8ee..215d178f 100644 --- a/src/ftxui/dom/flexbox_config.cppm +++ b/src/ftxui/dom/flexbox_config.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.flexbox_config -/// @brief Module file for the FlexboxConfig struct of the Dom module +/// @module ftxui.dom:FlexboxConfig +/// @brief Module file for the FlexboxConfig struct of the DOM module module; #include -export module ftxui.dom.flexbox_config; +export module ftxui.dom:FlexboxConfig; /** * @namespace ftxui diff --git a/src/ftxui/dom/linear_gradient.cppm b/src/ftxui/dom/linear_gradient.cppm index 330cd071..8e293b23 100644 --- a/src/ftxui/dom/linear_gradient.cppm +++ b/src/ftxui/dom/linear_gradient.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.linear_gradient -/// @brief Module file for the LinearGradient struct of the Dom module +/// @module ftxui.dom:LinearGradient +/// @brief Module file for the LinearGradient struct of the DOM module module; #include -export module ftxui.dom.linear_gradient; +export module ftxui.dom:LinearGradient; /** * @namespace ftxui diff --git a/src/ftxui/dom/node.cppm b/src/ftxui/dom/node.cppm index f9583f13..53e765f6 100644 --- a/src/ftxui/dom/node.cppm +++ b/src/ftxui/dom/node.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.node -/// @brief Module file for the Node class of the Dom module +/// @module ftxui.dom:Node +/// @brief Module file for the Node class of the DOM module module; #include -export module ftxui.dom.node; +export module ftxui.dom:Node; /** * @namespace ftxui diff --git a/src/ftxui/dom/requirement.cppm b/src/ftxui/dom/requirement.cppm index 3bb1998a..0badd402 100644 --- a/src/ftxui/dom/requirement.cppm +++ b/src/ftxui/dom/requirement.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.requirement -/// @brief Module file for the Requirement struct of the Dom module +/// @module ftxui.dom:Requirement +/// @brief Module file for the Requirement struct of the DOM module module; #include -export module ftxui.dom.requirement; +export module ftxui.dom:Requirement; /** * @namespace ftxui diff --git a/src/ftxui/dom/selection.cppm b/src/ftxui/dom/selection.cppm index 0644a584..60e1dee1 100644 --- a/src/ftxui/dom/selection.cppm +++ b/src/ftxui/dom/selection.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.selection -/// @brief Module file for the Selection class of the Dom module +/// @module ftxui.dom:Selection +/// @brief Module file for the Selection class of the DOM module module; #include -export module ftxui.dom.selection; +export module ftxui.dom:Selection; /** * @namespace ftxui diff --git a/src/ftxui/dom/table.cppm b/src/ftxui/dom/table.cppm index 9ce210f8..3588ef7a 100644 --- a/src/ftxui/dom/table.cppm +++ b/src/ftxui/dom/table.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.dom.table -/// @brief Module file for the Table class of the Dom module +/// @module ftxui.dom:Table +/// @brief Module file for the Table class of the DOM module module; #include -export module ftxui.dom.table; +export module ftxui.dom:Table; /** * @namespace ftxui diff --git a/src/ftxui/screen.cppm b/src/ftxui/screen.cppm index dbfd93ef..287427c8 100644 --- a/src/ftxui/screen.cppm +++ b/src/ftxui/screen.cppm @@ -3,12 +3,12 @@ export module ftxui.screen; -export import ftxui.screen.box; -export import ftxui.screen.color; -export import ftxui.screen.color_info; -export import ftxui.screen.deprecated; -export import ftxui.screen.image; -export import ftxui.screen.pixel; -export import ftxui.screen.screen; -export import ftxui.screen.string; -export import ftxui.screen.terminal; +export import :Box; +export import :Color; +export import :ColorInfo; +export import :Deprecated; +export import :Image; +export import :Pixel; +export import :Screen; +export import :String; +export import :Terminal; diff --git a/src/ftxui/screen/box.cppm b/src/ftxui/screen/box.cppm index 63b60b32..32fa5f05 100644 --- a/src/ftxui/screen/box.cppm +++ b/src/ftxui/screen/box.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.box +/// @module ftxui.screen:Box /// @brief Module file for the Box struct of the Screen module module; #include -export module ftxui.screen.box; +export module ftxui.screen:Box; /** * @namespace ftxui diff --git a/src/ftxui/screen/color.cppm b/src/ftxui/screen/color.cppm index a944eb3d..d78ac411 100644 --- a/src/ftxui/screen/color.cppm +++ b/src/ftxui/screen/color.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.color +/// @module ftxui.screen:Color /// @brief Module file for the Color class of the Screen module module; #include -export module ftxui.screen.color; +export module ftxui.screen:Color; /** * @namespace ftxui @@ -14,6 +14,10 @@ export module ftxui.screen.color; export namespace ftxui { using ftxui::Color; + /** + * @namespace literals + * @brief The FTXUI ftxui::literals:: namespace + */ inline namespace literals { using ftxui::literals::operator""_rgb; } diff --git a/src/ftxui/screen/color_info.cppm b/src/ftxui/screen/color_info.cppm index 2cd6d5f9..50281bb2 100644 --- a/src/ftxui/screen/color_info.cppm +++ b/src/ftxui/screen/color_info.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.color_info +/// @module ftxui.screen:ColorInfo /// @brief Module file for the ColorInfo struct of the Screen module module; #include -export module ftxui.screen.color_info; +export module ftxui.screen:ColorInfo; /** * @namespace ftxui diff --git a/src/ftxui/screen/deprecated.cppm b/src/ftxui/screen/deprecated.cppm index 47f2ad7f..4e3d6749 100644 --- a/src/ftxui/screen/deprecated.cppm +++ b/src/ftxui/screen/deprecated.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.deprecated +/// @module ftxui.screen:Deprecated /// @brief Module file for the deprecated parts of the Screen module module; #include -export module ftxui.screen.deprecated; +export module ftxui.screen:Deprecated; /** * @namespace ftxui diff --git a/src/ftxui/screen/image.cppm b/src/ftxui/screen/image.cppm index 8b178f70..195b20cf 100644 --- a/src/ftxui/screen/image.cppm +++ b/src/ftxui/screen/image.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.image +/// @module ftxui.screen:Image /// @brief Module file for the Image class of the Screen module module; #include -export module ftxui.screen.image; +export module ftxui.screen:Image; /** * @namespace ftxui diff --git a/src/ftxui/screen/pixel.cppm b/src/ftxui/screen/pixel.cppm index 5005e9db..24eff03a 100644 --- a/src/ftxui/screen/pixel.cppm +++ b/src/ftxui/screen/pixel.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.pixel +/// @module ftxui.screen:Pixel /// @brief Module file for the Pixel struct of the Screen module module; #include -export module ftxui.screen.pixel; +export module ftxui.screen:Pixel; /** * @namespace ftxui diff --git a/src/ftxui/screen/screen.cppm b/src/ftxui/screen/screen.cppm index 53df7e4c..38da6ca1 100644 --- a/src/ftxui/screen/screen.cppm +++ b/src/ftxui/screen/screen.cppm @@ -1,17 +1,21 @@ -/// @module ftxui.screen.screen +/// @module ftxui.screen:Screen /// @brief Module file for the Screen class of the Screen module module; #include -export module ftxui.screen.screen; +export module ftxui.screen:Screen; /** * @namespace ftxui * @brief The FTXUI ftxui:: namespace */ export namespace ftxui { + /** + * @namespace Dimension + * @brief The FTXUI ftxui::Dimension:: namespace + */ namespace Dimension { using ftxui::Dimension::Fixed; using ftxui::Dimension::Full; diff --git a/src/ftxui/screen/string.cppm b/src/ftxui/screen/string.cppm index 4d839d60..9a6e88cb 100644 --- a/src/ftxui/screen/string.cppm +++ b/src/ftxui/screen/string.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.string +/// @module ftxui.screen:String /// @brief Module file for string functions of the Screen module module; #include -export module ftxui.screen.string; +export module ftxui.screen:String; /** * @namespace ftxui diff --git a/src/ftxui/screen/terminal.cppm b/src/ftxui/screen/terminal.cppm index 3a69524d..c4a3d137 100644 --- a/src/ftxui/screen/terminal.cppm +++ b/src/ftxui/screen/terminal.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.screen.terminal +/// @module ftxui.screen:Terminal /// @brief Module file for the Terminal namespace of the Screen module module; #include -export module ftxui.screen.terminal; +export module ftxui.screen:Terminal; /** * @namespace ftxui @@ -14,6 +14,10 @@ export module ftxui.screen.terminal; export namespace ftxui { using ftxui::Dimensions; + /** + * @namespace Terminal + * @brief The FTXUI ftxui::Terminal:: namespace + */ namespace Terminal { using ftxui::Terminal::Size; using ftxui::Terminal::SetFallbackSize; diff --git a/src/ftxui/util.cppm b/src/ftxui/util.cppm index c661171d..d8d936f5 100644 --- a/src/ftxui/util.cppm +++ b/src/ftxui/util.cppm @@ -3,5 +3,5 @@ export module ftxui.util; -export import ftxui.util.autoreset; -export import ftxui.util.ref; +export import :AutoReset; +export import :Ref; diff --git a/src/ftxui/util/autoreset.cppm b/src/ftxui/util/autoreset.cppm index 71796b0a..04bccd87 100644 --- a/src/ftxui/util/autoreset.cppm +++ b/src/ftxui/util/autoreset.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.util.autoreset +/// @module ftxui.util:AutoReset /// @brief Module file for the AutoReset class of the Util module module; #include -export module ftxui.util.autoreset; +export module ftxui.util:AutoReset; /** * @namespace ftxui diff --git a/src/ftxui/util/ref.cppm b/src/ftxui/util/ref.cppm index ac189920..cb95d399 100644 --- a/src/ftxui/util/ref.cppm +++ b/src/ftxui/util/ref.cppm @@ -1,11 +1,11 @@ -/// @module ftxui.util.ref +/// @module ftxui.util:Ref /// @brief Module file for the Ref classes of the Util module module; #include -export module ftxui.util.ref; +export module ftxui.util:Ref; /** * @namespace ftxui