You can edit almost every page by Creating an account and confirming your email.

TBOX

From EverybodyWiki Bios & Wiki


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

  1. supports file, data, http and socket sources
  2. supports the stream filter for gzip charset and ..
  3. implements the multi-stream transfer using asio

The asynchronous io library

  1. supports reactor and proactor modes
  2. using epoll, poll, select, kqueue and iocp OS system APIs

The database library

  1. supports mysql and sqlite3 databases and enumerates data using the iterator mode

The xml parser library

  1. supports DOM and SAX modes and supports xpath.

The serialization and deserialization library.

  1. supports xml, json, bplist, xplist, binary formats

The memory library

  1. implements some memory pools for optimizing memory.
  2. supports fast memory error detection. It can detect the following types of bugs in the debug mode:
  3. # out-of-bounds accesses to heap and globals
  4. # use-after-free
  5. # double-free, invalid free
  6. # memory leaks

The container library

  1. implements hash tables, single lists, double lists, vectors, stacks, queues and min/max heaps.
  2. supports iterator modes for algorithms.

The algorithm library

  1. using the iterator mode
  2. implements find, binary find and reverse find algorithms.
  3. implements sort, bubble sort, quick sort, heap sort and insert sort algorithms.
  4. implements count, walk items, reverse walk items, for_all and rfor_all.

The network library

  1. implements dns(cached), ssl(openssl and polarssl), http and cookies
  2. supports asynchronous io modes for dns, ssl and http using the asio and stream libraries

The platform library

  1. implements timers, faster and lower precision timers
  2. implements atomic and atomic64 operations
  3. implements spinlocks, mutexes, events, semaphores, threads and thread pools
  4. implements file, socket operations

The charset library

  1. supports utf8, utf16, gbk, gb2312, uc2 and uc4
  2. supports big endian and little endian modes

The zip library

  1. supports gzip, zlibraw, zlib formats using the zlib library if it exists
  2. implements lzsw, lz77 and rlc algorithms

The utils library

  1. implements base32, base64, md5 and sha algorithms
  2. implements assert and trace output for the debug mode

The math library

  1. implements a random generator
  2. implements fast fixed-point calculations, supports 6-bit, 16-bit, 30-bit fixed-point numbers

The libc library

  1. implements lightweight libc library interfaces; the interface names contain a tb_xxx prefix to avoid conflicts.
  2. implements strixxx strrxxx wcsixxx wcsrxxx interface extensions.
  3. optimizes some frequently-used interfaces, e.g. memset, memcpy, strcpy ...
  4. implements memset_u16, memset_u32, memset_u64 extension interfaces.

The libm library

  1. implements lightweight libm library interfaces; the interface names contain a tb_xxx prefix to avoid conflicts.
  2. supports float and double types.


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.