Initial commit

This commit is contained in:
user
2026-07-12 14:22:00 +04:00
commit 49ecd4784c
90 changed files with 6910 additions and 0 deletions
@@ -0,0 +1,22 @@
#include "convert.h"
BEGIN_NAMESPACE(BusinessLogic)
BEGIN_NAMESPACE(Convert)
size_t FromStdString::operator()(const std::array<char, 5> &value, size_t alphabetPower) const {
if (value.empty()) {
throw std::invalid_argument("undefined key");
}
size_t result = 0;
size_t counter = 0;
for (auto crbegin = value.crbegin(), crend = value.crend()
; crbegin != crend && *crbegin >= '!' && *crbegin <= '~'; ++crbegin, ++counter
) {
result += (*crbegin) * std::pow(alphabetPower, counter);
}
return result;
}
END_NAMESPACE // Convert
END_NAMESPACE // BusinessLogic
@@ -0,0 +1,24 @@
#ifndef CONVERT_H
#define CONVERT_H
#include "../businessLogic.h"
#include <string>
#include <stdexcept>
#include <limits>
#include <array>
#include <cmath>
BEGIN_NAMESPACE(BusinessLogic)
BEGIN_NAMESPACE(Convert)
class FromStdString
{
public:
size_t operator()(const std::array<char, 5> &, size_t) const;
};
END_NAMESPACE // Convert
END_NAMESPACE // BusinessLogic
#endif // CONVERT_H