A common utilties library for my future creations
 
 
 
 
Go to file
Brett 983d7de820 std::function is slow!!
maybe change blt::logging to use something a little faster. base class + virtual function isn't that slow!
2023-07-24 03:30:23 -04:00
include/blt std::function is slow!! 2023-07-24 03:30:23 -04:00
src std::function is slow!! 2023-07-24 03:30:23 -04:00
.gitignore push to test jenkins 2023-03-30 22:03:10 -04:00
.gitmodules Parallel hashmap submodule 2022-12-26 23:44:02 -05:00
CMakeLists.txt readme update plus time functions and cleaner scoped_buffer WITH begin()/end() 2023-07-24 02:39:03 -04:00
CMakeSettings.json String buffer 2023-07-10 18:45:43 -04:00
LICENSE String buffer 2023-07-10 18:45:43 -04:00
README.md readme update plus time functions and cleaner scoped_buffer WITH begin()/end() 2023-07-24 02:39:03 -04:00
build_and_run_debug.sh Two children delete is still broken. Single / no child delete works fine. 2023-01-12 14:09:34 -05:00
commit.sh Setup inital cmake file 2022-12-23 13:50:27 -05:00
design.txt String buffer 2023-07-10 18:45:43 -04:00
icon.png String buffer 2023-07-10 18:45:43 -04:00
icon_large.png String buffer 2023-07-10 18:45:43 -04:00
icon_small.png String buffer 2023-07-10 18:45:43 -04:00

README.md

BLT v0.6.1a

A common utilities library I find useful

Icon


Specialties

blt::logging.v2

Found in the header file include/std/logging.h, blt::logging is a fast and simple single header logging library which can be used independently of BLT. Just include the header file anywhere in your project and in ONE cpp file define #define BLT_LOGGING_IMPLEMENTATION. If you are using BLT as a CMake library (as you should!) this is done for you.

  • Compile Time Config

    • Using CMake
      • Several options are provided which disable various logging contexts, as such global logging can be disabled by passing -DBLT_DISABLE_LOGGING:BOOL=ON
      • Options follow the pattern of BLT_DISABLE_LEVEL where level is one of TRACE,DEBUG,INFO,WARN,ERROR, or FATAL.
        • This allows for individual logging levels to be disabled while leaving the others functional. These options can be combined.
        • See CMakeLists.txt for a complete list of options.
    • Standalone
      • The CMake options define global variables in a config file. If you are using logging standalone you will need to remove the config include.
      • Macros can be used in the same pattern of BLT_DISABLE_LEVEL to disable the various logging levels

Features / Examples

  • Data Structures

    • Queue / Stack
      • faster than std::queue / std::stack
      • backed by a contiguous array
  • Utility

    • Simple Random Wrapper Interface
    • Simple random functions based on the PCG Hash
    • String Functions

      • starts_with
      • ends_with
      • contains
      • toLowerCase
      • toUpperCase
      • split
      • trim
    • Logging
      • See blt::logging section above
    • Time
      • Current time in nanoseconds (without all the c++ gobbledygook)
        • Java's currentTimeMilliseconds
        • nanoTime as well
        • std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now().time_since_epoch()).count() becomes blt::system::nanoTime()
      • Formatted time string with year/month/date + current time
  • Profiling

    • Basic profiler with history and formatted output