TBOX
Another editor has reviewed this page's proposed deletion, endorses the proposal to delete, and adds:
If you remove the {{proposed deletion/dated}} tag above, please also remove this {{Proposed deletion endorsed}} tag. |
TBOX is a multi-platform c library for unix, windows, mac, ios, android, etc. It's made available under the Apache License 2.0.
TBOX includes asio, stream, network, container, algorithm, object, memory, database, string, charset, math, libc, libm, utils and other library modules.
The stream io library
- supports file, data, http and socket sources
- supports the stream filter for gzip charset and ..
- implements the multi-stream transfer using asio
The asynchronous io library
- supports reactor and proactor modes
- using epoll, poll, select, kqueue and iocp OS system APIs
The database library
- supports mysql and sqlite3 databases and enumerates data using the iterator mode
The xml parser library
- supports DOM and SAX modes and supports xpath.
The serialization and deserialization library.
- supports xml, json, bplist, xplist, binary formats
The memory library
- implements some memory pools for optimizing memory.
- supports fast memory error detection. It can detect the following types of bugs in the debug mode:
- # out-of-bounds accesses to heap and globals
- # use-after-free
- # double-free, invalid free
- # memory leaks
The container library
- implements hash tables, single lists, double lists, vectors, stacks, queues and min/max heaps.
- supports iterator modes for algorithms.
The algorithm library
- using the iterator mode
- implements find, binary find and reverse find algorithms.
- implements sort, bubble sort, quick sort, heap sort and insert sort algorithms.
- implements count, walk items, reverse walk items, for_all and rfor_all.
The network library
- implements dns(cached), ssl(openssl and polarssl), http and cookies
- supports asynchronous io modes for dns, ssl and http using the asio and stream libraries
The platform library
- implements timers, faster and lower precision timers
- implements atomic and atomic64 operations
- implements spinlocks, mutexes, events, semaphores, threads and thread pools
- implements file, socket operations
The charset library
- supports utf8, utf16, gbk, gb2312, uc2 and uc4
- supports big endian and little endian modes
The zip library
- supports gzip, zlibraw, zlib formats using the zlib library if it exists
- implements lzsw, lz77 and rlc algorithms
The utils library
- implements base32, base64, md5 and sha algorithms
- implements assert and trace output for the debug mode
The math library
- implements a random generator
- implements fast fixed-point calculations, supports 6-bit, 16-bit, 30-bit fixed-point numbers
The libc library
- implements lightweight libc library interfaces; the interface names contain a tb_xxx prefix to avoid conflicts.
- implements strixxx strrxxx wcsixxx wcsrxxx interface extensions.
- optimizes some frequently-used interfaces, e.g. memset, memcpy, strcpy ...
- implements memset_u16, memset_u32, memset_u64 extension interfaces.
The libm library
- implements lightweight libm library interfaces; the interface names contain a tb_xxx prefix to avoid conflicts.
- supports float and double types.
External links
This article "TBOX" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:TBOX. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
