Utxcpp Library

Utxcpp Library


Utxcpp is turbine freebsd hobbist swimmers' easy and simple to use c++ library that makes simple things be simple.

Utxcpp is cross-platform working on all modern c++ compatible (at least c++20) operating systems. The goal of utxcpp is to make frequently used common things be called simply and directly.

WARNING: This project is still in early development, will be very frequently changed currently, and has no stable release control, it is not recommended to use in production. The source code is released under the Boost Software License, you can find the files in the source.

Utxcpp Fossil Source


Utxcpp Example

Mini Example (C++ Includes)

#include <utxcpp/core.hpp>
int main() {
        utx::print("Hello", "Utxcpp", "!", 3.14159);

Mini Example (C++ Modules)

import utxcpp;
int main() {
        utx::print("Hello", "Utxcpp", "!", 3.14159);


#include <utxcpp/core.hpp>
#include <complex>
#include <numbers>

using namespace std::numbers;

int main() {
	utx::print("pi=", pi, '\n', "e=", e, "\n", "phi=", phi, '\n', "egamma=", egamma);

utxcpp thread

utxcpp thread is not another new thread implementation, but made on top of std::thread/std::future, to make it be simpler.
#include <utxcpp/core.hpp>
#include <utxcpp/thread.hpp>
#include <mutex>

std::mutex mutex;

template <class T>
auto fn = [] {
	for (int i=0; i<int('G'-'A'+1); ++i) {
		// sleep for 0.2 seconds
		std::unique_lock<std::mutex> guard{mutex};
		utx::print("=>", (T)(i+'A'));

int main() {
	// deferred is deferred, async is async.
	auto f1 = utx::deferred(fn<int>);
	auto f2 = utx::async(fn<char>);

How to install utxcpp

1. Clone utxcpp code

fossil clone https://cppfx.xyz/fossil/utxcpp utxcpp.fossil

2. Build and install utxcpp

mkdir utxcpp
cd utxcpp
fossil open ../utxcpp.fossil
b2 config --prefix=/usr/local
b2 install

More information, read README.md . Build for your os, read install/build-???.md .


Donate to me for these projects: cppfx.xyz, utxcpp, pest, some development for BSD and cross-platform wares.