Библиотека CUtils

Друзья! В данной статье мы бы хотели рассказать про кроссплатформенную коллекцию утилитных C++ компонентов CUtils.

CUtils — это довольно полезный инструмент при разработке кроссплатформенного программного обеспечения на языке программирования C++.

В первой версии этой коллекции содержатся компоненты, которые были необходимы в разработке игрового движка Case Engine, такие как SystemConfiguration, INIParser, Notification и т. д.

Установка библиотеки

Вы можете скачать репозиторий уже с собранными файлами под Windows, а можете самостоятельно собрать библиотеку из исходников.

1. скачайте фоициальный репозиторий коллекции с GitHub -

И подключите Include и Lib к вашему проекту:

Библиотека CUtils

2.. Установите исходники библиотеки с GitHub:

И соберите её с помощью команд:

mkdir Out cd Out cmake .. cmake --build .

Функционал

Хэширование по алгоритму SHA-256

С помощью библиотеки CUtils можно реализовать хэширование данных через заголовок Hashed.hpp:

#include <Hashed.hpp> using namespace CUtils; int main() { Hashed hasher; std::string originalText = "Hello, world!"; std::string filename = "example"; hasher.HashAndSave(originalText, filename); std::string savedHash = hasher.ReadHashFromFile(filename + ".hash"); return 0; }

INI Parser

С помощью заголовка INIParser.hpp можно реализовать парсинг данных из конфигурационного файла .ini:

#include <INIParser.hpp> using namespace CUtils; int main() { INIParser parser("config.ini"); if (parser.Load()) { std::string value = parser.GetValue("Settings", "Resolution"); std::cout << "Resolution: " << value << std::endl; parser.SetValue("Settings", "Resolution", "1920x1080"); parser.Save(); } else { std::cerr << "Failed to load INI file." << std::endl; } return 0; }

NoisePerlin

В CUtils уже есть готовая реализация алгоритма Шума Перлина:

#include <NoisePerlin.hpp> #include <iostream> using namespace CUtils; int main() { NoisePerlin perlin; double value = perlin.Noise(1.0, 2.0); std::cout << "Perlin Noise Value: " << value << std::endl; return 0; }

Notification

Вы можете реализовать вывод ошибок, предупреждений, информации с помощью заголовка Notification.hpp:

#include <Notification.hpp> using namespace CUtils; int main() { Notification::notify(Notification::TYPE_ERROR, "This is an error message."); Notification::notify(Notification::TYPE_WARNING, "This is a warning message."); Notification::notify(Notification::TYPE_INFO, "This is an info message."); return 0; }

А остальное вы сможете посмотреть в нашей документации:

Ссылки:

Наш GitHub -

Официальный сайт -

Игровой движок Case Engine -

22
2 комментария

Сложна

1
Ответить

В чём конкретно заключается сложность?)

Ответить