- a collection of native C++ classes libraries, to complete std;
- written in efficient, modern C++17;
- and highly portable and available on many different platforms (Windows, macOS, Linux, iOS and android);
For more information see documentations (website) and Reference Guide.
The classic first application 'Hello World'.
hello_world_console.cpp:
#include <xtd/xtd>
using namespace xtd;
int main() {
console::background_color(console_color::blue);
console::foreground_color(console_color::white);
console::write_line("Hello, World!");
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(hello_world_console)
find_package(xtd REQUIRED)
add_executable(${PROJECT_NAME} hello_world_console.cpp)
target_link_libraries(${PROJECT_NAME} xtd)
hello_world_forms.cpp:
#include <xtd/xtd>
using namespace xtd::forms;
int main() {
button button;
button.text("Click me");
button.location({10, 10});
button.click += [] {
message_box::show("Hello, World!");
};
form form;
form.text("Hello World Form");
form.controls().push_back(button);
application::run(form);
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(hello_world_forms)
find_package(xtd REQUIRED)
add_executable(${PROJECT_NAME} WIN32 MACOSX_BUNDLE hello_world_forms.cpp)
target_link_libraries(${PROJECT_NAME} xtd)
hello_world_tunit.cpp:
#include <xtd/xtd>
#include <string>
using namespace std;
using namespace xtd::tunit;
namespace unit_tests {
class test_class_(hello_world_test) {
public:
void test_method_(create_string_from_literal) {
string s = "Hello, World!";
valid::are_equal(13, s.size());
assert::are_equal("Hello, World!", s);
}
void test_method_(create_string_from_chars) {
string s = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!'};
valid::are_equal(13, s.size());
string_assert::starts_with("Hello,", s);
string_assert::ends_with(" World!", s);
}
};
}
int main() {
return console_unit_test().run();
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(hello_world_tunit)
find_package(xtd REQUIRED)
add_executable(${PROJECT_NAME} hello_world_tunit.cpp)
target_link_libraries(${PROJECT_NAME} xtd)
For more examples see examples
Before running examples you must download and install xtd.forms. To download and install it read downloads file.