# ku **Repository Path**: ralphjzhang/ku ## Basic Information - **Project Name**: ku - **Description**: Ku (sound like 'cool') In Chinese, it means 'library' - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-14 - **Last Updated**: 2025-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ku Sounds like 'cool', in Chinese 'library' A C++ library for various tools. ## Convention - concept name in PascalCase, but end with \_c. - struct/class/type/template names in PascalCase. - template type parameters in PascalCase, apart from simple convenional names like T/U/V, etc, should end with \T. - tag types, names end with \_t, like Tag_t. - pointer/smart pointer type defs end with \_ptr. - function/method names in camelCase, private methods start with \_, like \_doSomething. - struct/enum member names in snake_case public members end with \_, like public_member\_ private fields start with \_, like \_a_private_member - enum names in PascalCase, but end with \_e. enum members do not start or end with \_, like read_only - local variables/function parameters in snake_case, like a_local_var. ```cpp template concept String_c = requires {} enum Mode_e { read_only, read_write }; struct Buffer { size_t size() const { return len_; } void _tryLock(); char* data_; size_t len_; }; using Buffer_ptr = std::unique_ptr; ``` ## Structure ### base Basic library, freestanding - util: general utilities - fun: functional components - car: containers, algorithms, ranges/views. A freestanding collection. Using these std freestanding libraries ``` ``` ### tool ### io