Как стать автором
Поиск
Написать публикацию
Обновить

Библиотека CUtils

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.8K

Друзья! В данной статье мы бы хотели рассказать про кроссплатформенную коллекцию утилитных 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(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

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

Теги:
Хабы:
Всего голосов 11: ↑4 и ↓7+2
Комментарии9

Публикации

Ближайшие события