liba 0.1.4-rc.0

An algorithm library based on C/C++ language
Documentation
liba-0.1.4-rc.0 has been yanked.

An algorithm library {#mainpage}

docs conan xmake meson msvc linux macos mingw msys2 freebsd

documentation

required tools

optional tools

build

xmake

xmake f
xmake
xmake i

cmake

cmake -S . -B build
cmake --build build
cmake --install build

meson

meson setup builddir
meson install -C builddir

vcpkg

cmake -S . -B build -DLIBA_VCPKG=1
cp -r build/vcpkg/* $VCPKG_INSTALLATION_ROOT
cp -r -Force build/vcpkg/* $ENV:VCPKG_INSTALLATION_ROOT

conan

conan create .

cargo

cargo build --release

cython

python setup.py build_ext --inplace

usage

C/C++

xmake.lua

add_requires("alib") -- static
add_requires("liba") -- shared

CMakeLists.txt

find_package(liba CONFIG REQUIRED)
target_link_libraries(<TARGET> PRIVATE alib) # static
target_link_libraries(<TARGET> PRIVATE liba) # shared

conanfile.txt

[requires]
liba/[~0.1]

Lua

luarocks install liba # release
luarocks install --server=https://luarocks.org/dev liba # latest
local liba = require("liba")
print("version", liba.VERSION)

Java

public class Main {
    public static void main(String[] args) {
        System.out.println("version " + liba.VERSION);
    }
}

Rust

Cargo.toml

[dependencies]
liba = { git = "https://github.com/tqfx/liba.git" }

main.rs

use liba;
fn main() {
    println!(
        "version {}.{}.{}+{}",
        liba::version::major(),
        liba::version::minor(),
        liba::version::patch(),
        liba::version::tweak()
    );
}

Python

pip install liba # release
pip install git+https://github.com/tqfx/liba.git # latest

main.py

import liba
print("version", liba.VERSION)

JavaScript

npm i @tqfx/liba

index.js

import liba from "@tqfx/liba";
console.log(liba.VERSION)

QuickJS

main.js

import * as liba from "liba.so";
console.log("version", liba.VERSION)

Copyright {#copyright}

Copyright (C) 2020-present tqfx, All rights reserved.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.