Библиотека CUtils

от автора

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

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

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

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

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

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

https://github.com/case-tech/CUtils-Win

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

Библиотека CUtils

Библиотека 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(Notifi

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

Ссылки

Наш GitHub

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


ссылка на оригинал статьи https://habr.com/ru/articles/857398/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *