- PVSM.RU - https://www.pvsm.ru -

Библиотека CUtils

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

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

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

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

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

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

https://github.com/case-tech/CUtils-Win [1]

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

Библиотека CUtils

Библиотека CUtils

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

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

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

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

Ссылки

Наш GitHub [4]

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

Автор: case-tech

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/c-3/401968

Ссылки в тексте:

[1] https://github.com/case-tech/CUtils-Win: https://github.com/case-tech/CUtils-Win

[2] исходники библиотеки с GitHub: https://github.com/case-tech/CUtils-Sources

[3] нашей документации : https://case-technologies.ru/Documents/Documentation%20for%20CUtils.pdf

[4] Наш GitHub : https://github.com/case-tech

[5] Официальный сайт : https://case-technologies.ru/

[6] Источник: https://habr.com/ru/articles/857398/?utm_source=habrahabr&utm_medium=rss&utm_campaign=857398