80 lines
1.5 KiB
C++
80 lines
1.5 KiB
C++
#include <vector>
|
|
#include <forward_list>
|
|
|
|
#include "hack/logger/logger.hpp"
|
|
|
|
#include "hack/range/sort.hpp"
|
|
#include "hack/range/save_to_file.hpp"
|
|
#include "hack/math/max.hpp"
|
|
|
|
#include "hack/patterns/ring_buffer.hpp"
|
|
#include "hack/patterns/identificator.hpp"
|
|
|
|
// #include "hack/security/uuid.hpp"
|
|
|
|
auto main(int argc, char *argv[]) -> int
|
|
{
|
|
// HERE
|
|
// concepts
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// patterns::ring_buffer
|
|
{
|
|
hack::patterns::ring_buffer<int> rb;
|
|
rb.create(10);
|
|
for (int i = 0; i < 10; ++i) rb.put(i);
|
|
hack::log()(rb);
|
|
hack::log()(rb.size());
|
|
rb.skip(3);
|
|
hack::log()(rb.get().value());
|
|
hack::log()(rb.size());
|
|
std::vector<int> v(3);
|
|
rb.get(v, 3);
|
|
hack::log()(v);
|
|
}
|
|
|
|
// security
|
|
{
|
|
// hack::log()(hack::security::generate_uuid());
|
|
}
|
|
|
|
// patterns::identificator
|
|
{
|
|
struct a : public hack::patterns::identificator<>
|
|
{} aa;
|
|
a bb;
|
|
a cc;
|
|
a dd;
|
|
hack::log()(aa.m_id, bb.m_id, cc.m_id, dd.m_id);
|
|
}
|
|
|
|
// range::sort
|
|
{
|
|
std::vector<int> v { 4, 4, 6, 1, 4, 3, 2 };
|
|
std::forward_list<int> l { 8, 7, 5, 9, 0, 1, 3, 2, 6, 4 };
|
|
|
|
hack::range::sort(v);
|
|
hack::range::sort(l);
|
|
|
|
hack::log()(v);
|
|
hack::log()(l);
|
|
|
|
hack::range::save_to_file("/mnt/raid/projects/hack/hack/bin/test/range.txt", v);
|
|
hack::range::save_to_file("/mnt/raid/projects/hack/hack/bin/test/range.delemiter.txt", v, ":");
|
|
}
|
|
|
|
// math::max
|
|
{
|
|
int a = 4, b = 5;
|
|
int& c = a;
|
|
hack::log()(hack::math::max(4, 5));
|
|
hack::log()(hack::math::max(c, b));
|
|
}
|
|
}
|