Lucene search

K
kitploitKitPloitKITPLOIT:5542634359026880529
HistoryMar 28, 2024 - 11:30 a.m.

Rrgen - A Header Only C++ Library For Storing Safe, Randomly Generated Data Into Modern Containers

2024-03-2811:30:00
www.kitploit.com
6
c++ containers distribution access prngs vector list array stack safety[random data engine methods] installation documentation repository usage download scylla.

7.2 High

AI Score

Confidence

Low

This library was developed to combat insecure methods of storing random data into modern C++ containers. For example, old and clunky PRNGs. Thus, rrgen uses STL’s distribution engines in order to efficiently and safely store a random number distribution into a given C++ container.

Installation

  1. git clone https://github.com/josh0xA/rrgen.git
  2. cd rrgen
  3. make
  4. Add include/rrgen.hpp to your project tree for access to the library classes and functions.

Official Documentation

rrgen/docs/index.rst

Supported Containers

  1. std::vector<>
  2. std::list<>
  3. std::array<>
  4. std::stack<>

Example Usages

#include "../include/rrgen.hpp"  
#include <iostream>  
  
int main(void)  
{  
    // Example usage for rrgen vector  
    rrgen::rrand<float, std::vector, 10> rrvec;  
    rrvec.gen_rrvector(false, true, 0, 10);  
    for (auto &i : rrvec.contents())  
    {  
        std::cout << i << " ";  
    } // ^ the same as rrvec.show_contents()  
  
    // Example usage for rrgen list (frontside insertion)  
    rrgen::rrand<int, std::list, 10> rrlist;  
    rrlist.gen_rrlist(false, true, "fside", 5, 25);  
    std::cout << '\n'; rrlist.show_contents();  
    std::cout << "Size: " << rrlist.contents().size() << '\n';  
  
    // Example usage for rrgen array  
    rrgen::rrand_array<int, 5> rrarr;  
    rrarr.gen_rrarray(false, true, 5, 35);  
    for (auto &i : rrarr.contents())  
    {  
        std::cout << i << " ";  
    } // ^ the same as rrarr.   show_contents()  
  
    // Example usage for rrgen stack   
    rrgen::rrand_stack<float, 10> rrstack;  
    rrstack.gen_rrstack(false, true, 200, 1000);  
    for (auto m = rrstack.xsize(); m > 0; m--)  
    {  
        std::cout << rrstack.grab_top() << " ";  
        rrstack.pop_off();  
        if (m == 1) { std::cout << '\n'; }  
    }   
}  

Note: This is a transferred repository, from a completely unrelated project.

Download Rrgen

7.2 High

AI Score

Confidence

Low