Skip to content

Zheng-Bote/rz_cxx_libs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cxx_libs

C++ libraries, mostly ≥ c++20 and sometimes Qt6

Report Issue Request Feature

MIT License GitHub Created At


Table of Contents


Description

QT CXX

C++ libraries, mostly ≥ c++20 and sometimes Qt6.

Features

  • advanced-super-extra-special feature xyz


  • OSS and license

  • works as designed

  • no bugs


  • some more or less usefull Github Actions for GH-repo, GH-pages, GH-wiki, CI/CD-Pipelines
  • Packagemanager
  • Buildsystem: CMake
  • Clang-Tidy (cppcoreguidelines-*)
  • Installer: CMake
  • portable application

  • runs on DOS/Windows
  • runs on MacOS
  • runs on Linux
  • runs on iOS
  • runs on Android
  • runs on HarmonyOS

(back to top)

Status

Application / Tool

Status

GitHub Release Date

GitHub Issues GitHub Pull Requests

Documentation

under construction

README

Repo - create Repo-Tree in README.md Repo - add Actions In/Out to README

Repo - update Readme

other Markdown files

Repo - create TOC of Markdown files

create ToC in Markdown files in folders

  • .github/actions/**
  • .github/workflows/**
  • dist/**
  • docs/**

(back to top)

Installation

mkdir build && cd build
cmake -S ../src -B . -DCMAKE_BUILD_TYPE=Release
cmake --build . --parallel 6
...

Dependencies

under construction

folder structure

.
├── .github
│   ├── actions
│   │   └── doctoc
│   │       ├── README.md
│   │       ├── action.yml
│   │       └── dist
│   │           ├── index.js
│   │           ├── index.js.map
│   │           ├── licenses.txt
│   │           └── sourcemap-register.js
│   └── workflows
│       ├── ghp-call_Readme.yml
│       ├── ghp-create_doctoc.yml
│       ├── ghp-markdown_index.yml
│       ├── repo-actions_docu.yml
│       ├── repo-call_Readme.yml
│       ├── repo-create_doctoc.yml_
│       ├── repo-create_doctoc_md.yml
│       └── repo-create_tree_readme.yml
├── .gitignore
├── LICENSE
├── README.md
├── src
│   ├── CMakeLists.txt
│   ├── configure
│   │   ├── ClangTidy.cmake
│   │   ├── Doxygen.cmake
│   │   ├── do_pandoc.sh
│   │   ├── doxygen.cfg
│   │   ├── extra_headers
│   │   └── rz_config.h.in
│   ├── include
│   │   ├── database.cpp
│   │   ├── database.hpp
│   │   ├── qaesencryption.cpp
│   │   ├── qaesencryption.h
│   │   ├── rz_compiler_info.h
│   │   ├── rz_cxx_features.h
│   │   ├── rz_datetime.cpp
│   │   ├── rz_datetime.h
│   │   ├── rz_filesystem.cpp
│   │   ├── rz_filesystem.h
│   │   ├── rz_openssl.hpp
│   │   ├── rz_qt_image.cpp
│   │   ├── rz_qt_image.h
│   │   ├── rz_string_lib.h
│   │   ├── simplecrypt.cpp
│   │   ├── simplecrypt.h
│   │   ├── sqlite3.cpp
│   │   └── sqlite3.hpp
│   └── main.cpp
└── tree.bak

9 directories, 44 files

(back to top)

Usage/Examples/Tests

under construction

    auto temp = std::filesystem::temp_directory_path() / "example.txt";
    std::ofstream(temp.c_str()) << "Hello, World!";
    auto ftime = std::filesystem::last_write_time(temp);
    std::cout << std::format("File write time is {0:%R} on {0:%F}\n", ftime);
    std::cout << ftime << std::endl;
    std::filesystem::remove(temp);

    std::cout << PROG_NAME << " v" << PROG_VERSION << " " << PROG_HOMEPAGE << "\n"
              << std::endl;

    Filesystem fs;
    fs->createDirectory("/tmp/test");
    std::filesystem::path temp_dir = std::filesystem::temp_directory_path();
    fs.createDirectories(temp_dir.append("test/test1/test2/test3"));
    fs->removeDirectory("/tmp/test/test1/test2");
    fs->removeDirectories("/tmp/test");
    fs.listDirectory("/tmp");
    fs.listDirectories("/tmp", 1);
    fs.copyFile("qt_filesystem", "/tmp/test/test1/test2/test3/rz__filesystem");
    fs.copyRecursive(".", "/tmp/test");
    fs.showDirectoryTree("/tmp/test");
    fs.isDirectory("/tmp");
    fs.isFile("qt_filesysteme");
    fs.getAbsolutePath(".");
    fs.getRelativePath("/tmp");
    fs.calculateDirectorySize(".");
    fs.printDiskSpaceInfo("/home", 20);
    std::cout << "perm: " << fs.getFilePermission("./qt_filesystem") << std::endl;
    std::cout << "last write time UTC: " << fs.getLastWriteTime("./test_libs") << std::endl;
    fs.getFileSizeHuman("./test_libs");
    DateTime dt;
    std::cout << "main UTC sys: " << dt.getUtcDateTimeSys() << std::endl;
    std::cout << "main UTC human: " << dt.getUtcDateTimeHuman() << std::endl;
    std::cout << "main local sys: " << dt.getLocalTimeSys() << std::endl;
    std::cout << "main human: " << dt.getLocalTimeHuman() << std::endl;
    std::cout << "current TZ: " << dt.getCurrentZoneOffset() << std::endl;

    std::cout << "###################\n";

    std::println("{}", dt.getFormatedUtcDateTimeHuman("YYYY-MM-DD_HH-MM-SS"));
    std::println("{}", rz_string_lib::replace("/var/log/{{ DATE_TIME }}_dev.log", "{{ DATE_TIME }}", "2024-01-15_1433"));

    std::cout << "###################\n";

    // db test
    QCoreApplication a(argc, argv);
    SQLite3 myDb;
    QString testDb = "test.db";
    myDb.openDb(testDb);
    myDb.createTable();
    myDb.insertData();
    myDb.selectData();
    myDb.selectDataWithField();
    myDb.closeDb();

(back to top)

API Reference

under construction

(back to top)

Documentation

under construction

(back to top)

Authors and License

License

MIT License

Copyright (c) 2024 ZHENG Robert

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Authors

  • Zheng Robert

Code Contributors

Contributors

Zheng Robert


🖖

(back to top)

About

C++ libraries, mostly c++20 to c++23 and sometimes Qt6

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages