An utility application to help managing your C++ OI workspaces.

Overview

oi_helper

oi_helper is an utility application to help managing your C++ OI workspaces.

Why oi_helper

We all know that we often need a project manager when we're developing an application or a library. For example, I use cargo to manage this project. But, there is a special kind of programming, which is for algorithm competitions. This kind of programming is often called OI by people, or at least in China. OI is very special because an OI project often has a lot of source files and each source file can be compiled in to an complete binary executable file alone. It's quite different to those ordinary developings. But who said that OIers (people who do OIs) are not able to have a project manager? Usually they may need to compile everything by themselves. In the past, they should write everything by themselves, includeing #includes and usings. But with the codegen ability of oi_helper, they are no longer need to do this because oi_helper will help them generate what they want, for example, the default template is:

// <file_name>
// Template generated by oi_helper (https://github.com/onion108/oi_helper)
//

#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
#include <stack>
#include <queue>
using namespace std;

static const int MAXN = 1e5+114514;

int main() {
    return 0;
}

You can see that oi_helper included some header files that OIers may want to use, and also generates the MAXN constant, which is very useful when doing DP or other algorithms that needs arrays.

Installation

If you want to install it easily, just type:

cargo install oi_helper

Build

If you are interested in building it by yourself, then type:

cargo build

Before doing this you should install rust from here.

Also, there is a special kind of versions called developement previews, where the version number will end with devpreview. devpreviews are unstable and may cause some problems, and even may fails the compiling, but the devpreview have the newest changes. If you really want to use the features that only work with the devpreview, you can type the following command after cloning this repository:

git switch dev
cargo install --path .

If it builds, you will now have the devpreview version instead of your normal release.

There are another way to install devpreviews, that is using cargo install oi_helper and add --version and pass the version number to it (e.g., cargo install oi_helper --version 2.0.0-1-devpreview will install the second stable devpreview). devpreviews that can be installed in this way are called stable devpreviews.

Current devpreview's features:

  • Added test cases.

Current devpreview's todo:

  • Add result comparations.

Usage Documentation

Click Here

You might also like...
A CLI utility to secretly copy secrets to your clipboard. 🦀
A CLI utility to secretly copy secrets to your clipboard. 🦀

seclip 🔒 📝 A CLI utility to secretly copy secrets to your clipboard. 🦀 Table of Contents Features Installation Usage Build From Source Contribution

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files
This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

This utility traverses through your filesystem looking for open-source dependencies that are seeking donations by parsing README.md and FUNDING.yml files

A command line application which sets your wall paper with new image generating pollens once they arrive.

pollenwall Table of Contents pollenwall About Installation Binary releases Build from source Usage Command Line Arguments Running as a service MacOS L

Wena is a micro-framework that provides an elegant starting point for your console application.
Wena is a micro-framework that provides an elegant starting point for your console application.

Wena was created by Nuno Maduro, and is a Rust Lang micro-framework that provides an elegant starting point for your console application. This project

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode.

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode. omekasy means "dress up" in Japanese.

A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

🐢 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands
🐢 Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands

Atuin replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.

Save image from your clipboard 📋 as an image file directly from your command line! 🔥

Clpy 📋 Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.
FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config.

Connect quickly to your services 🚀 FastSSH is a TUI that allows you to quickly connect to your services by navigating through your SSH config. Instal

Owner
27Onion Nebell
Wooh~~
27Onion Nebell
A utility for managing cargo dependencies from the command line.

cargo edit This tool extends Cargo to allow you to add, remove, and upgrade dependencies by modifying your Cargo.toml file from the command line. Curr

Pascal Hertleif 2.6k Sep 24, 2022
laydown is a simple CLI application to help you prepare for your next Daily Standup

laydown is a simple CLI application to help you prepare for your next Daily Standup. No longer shall your name be called on only for you to stare into the abyss while you struggle to remember what you did yesterday.

badjr13 75 Aug 18, 2022
A minimalist tool for managing block-lists from the terminal.

Block List A minimalist hosts-based tool for managing block lists and ad-blocking. This project uses the excellent and regularly updated Unified Hosts

Oliver Brotchie 7 Aug 14, 2022
Tool for managing dotfiles directories; Heavily based on rcm.

Paro paro : to prepare, get ready / set, put / furnish, supply. Tool for managing dotfiles directories; Heavily based on rcm. TODO Rust Boilerplate CI

Rafael Delboni 7 Sep 9, 2022
An interface for managing collections of labeled items and generating random subsets with specified restrictions

An interface for managing collections of labeled items and generating random subsets with specified restrictions

Kaio Vieira 2 Sep 4, 2022
A CLI tool which can help you automatically kill process of your choice. Useful for freeing up memory and CPU usage!

Quickiller There are always programs such as chrome that keep eating up your resources even when closed! The only way to prevent this is to kill all o

Codingsquirrel 1 Dec 8, 2021
Unwrap Macros to help Clean up code and improve production.

unwrap_helpers Unwrap Macros to help Clean up code and improve production. This does include a pub use of https://github.com/Mrp1Dev/loop_unwrap to ga

Ascending Creations 2 Nov 1, 2021
To help prevent directory traversal attacks

safe_join Use SafeJoin::safe_join in place of Path::join to help prevent directory traversal attacks. A call of the form dir.safe_join(path) returns a

Trail of Bits 1 Dec 27, 2021
A simple cli tool to help with wordle in hard mode

Wordking A simple cli tool to help with wordle in hard mode. Usage Run wordking cargo run Wordking will ask for your guesses thus far. Provide your gu

Stephen Spalding 2 Feb 1, 2022
Help Skelly to find bones, combine them to build his body back

Bones Collector Help Skelly to find bones, combine them to build his body back! Game made for the bevy Jam#2. Play it here in your browser: itch.io! R

Thomas 3 Aug 30, 2022