dlib/dlib
2013-07-07 14:59:42 -04:00
..
all Just renamed the timer source files. 2012-11-18 12:54:23 -05:00
any Previously, if you accidentally tried to copy between any_function instances 2012-12-21 22:27:40 -05:00
array Gave array a constructor that takes an initial size parameter 2013-04-12 20:25:14 -04:00
array2d Changed the serialization formats for the matrix and array2d objects so that 2013-04-12 21:47:57 -04:00
base64 Changed the base64 object so you don't have to say base64::kernel_1a anymore to 2011-04-18 18:22:33 +00:00
bayes_utils Fixed a very minor typo in the spec. 2012-05-02 19:08:58 -04:00
bigint Just fixing grammar in comments. 2010-02-14 13:03:57 +00:00
binary_search_tree All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
bit_stream This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
bound_function_pointer Converted the bound_function_pointer into a single implementation component. 2012-11-18 12:07:38 -05:00
bridge Added connect_to() 2012-10-24 22:58:28 -04:00
bsp Switched the bsp tools from using stringstream to vectorstream for 2012-11-18 17:16:29 -05:00
byte_orderer Made byte_orderer copyable. 2012-02-28 18:44:27 -05:00
clustering Clarified spec with regards to infinite weight edges. 2013-01-27 18:49:04 -05:00
cmd_line_parser Added a group name feature to the command line parser. Now it is possible to 2012-12-12 20:53:50 -05:00
compress_stream Fixed typo in spec 2011-03-03 22:06:02 +00:00
conditioning_class This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
config_reader All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
cpp_pretty_printer Updated link to point to dlib.net 2010-01-23 00:18:25 +00:00
cpp_tokenizer Fixed a bug in the cpp_tokenizer that only shows up on newer versions of 2011-09-08 20:15:41 -04:00
crc32 Changed the crc32 object so you don't have to say crc32::kernel_1a anymore to 2011-04-18 13:47:43 +00:00
data_io Made both versions of load_image_dataset() support the skip_empty_images option 2013-04-13 21:18:21 -04:00
dir_nav Slightly simplified the dir_nav interface 2013-06-16 12:07:23 -04:00
directed_graph All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
disjoint_subsets Added an implementation of the union-find algorithm. 2011-10-08 18:00:27 -04:00
entropy_decoder This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
entropy_decoder_model Just fixing grammar in comments. 2010-02-14 13:03:57 +00:00
entropy_encoder This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
entropy_encoder_model Just fixing grammar in comments. 2010-02-14 13:03:57 +00:00
filtering All I did in this change was rename calls to array_to_matrix(), 2012-12-23 14:03:36 -05:00
general_hash Added count_bits() and hamming_distance() 2013-01-21 17:06:27 -05:00
geometry Added point_transform_projective and find_projective_transform() 2013-05-19 20:16:57 -04:00
graph All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
graph_cuts Added a bunch of THREAD SAFETY blocks to the specs for various machine learning 2012-12-28 10:22:42 -05:00
graph_utils Added order_by_descending_distance() 2013-07-01 17:31:21 -04:00
gui_core Fixed a problem that caused the python interpreter to hang on program exit when 2013-05-20 19:37:43 -04:00
gui_widgets Gave the image_window the ability to tie the mouse and keyboard events together 2013-06-11 22:10:00 -04:00
hash_map All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
hash_set All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
hash_table All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
http_client Removed cruft 2012-11-17 17:51:41 -05:00
image_keypoint Added the binned_vector_feature_image. 2013-04-01 22:59:33 -04:00
image_loader Upgraded the dng image format so it can natively store floating point 2013-04-06 19:50:49 -04:00
image_processing Clarified spec 2013-04-21 11:33:52 -04:00
image_saver Made image saving routines work on matrix objects in addition to array2d 2013-05-14 20:44:54 -04:00
image_transforms Changed the default behavior of heatmap() and jet() to use min(mat(img)) as the 2013-06-01 17:33:09 -04:00
interfaces Added a group name feature to the command line parser. Now it is possible to 2012-12-12 20:53:50 -05:00
iosockstream To work around a bug in visual studio 2012, I changed the iosockstream from using 2013-03-01 22:45:56 -05:00
linker Added another constructor to the linker that lets you link two connections 2012-11-18 11:46:53 -05:00
logger Simplified member_function_pointer declarations. 2012-11-17 23:31:26 -05:00
lsh clarified spec 2013-04-20 22:03:25 -04:00
lz77_buffer This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
lzp_buffer Just fixing grammar in comments. 2010-02-14 13:03:57 +00:00
manifold_regularization Moved more graph tools into the graph_utils folder. 2012-11-05 22:00:02 -05:00
map All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
matrix Fixed a segmentation fault in the eigenvalue_decomposition object 2013-05-21 18:41:42 -04:00
md5 Fixed a bug pointed out by Joel Nelson in the version of md5() that took an 2013-01-06 15:28:09 -05:00
member_function_pointer Turned the member_function_pointer into a single implementation component. 2012-11-17 23:16:55 -05:00
memory_manager All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
memory_manager_global This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
memory_manager_stateless Added a default_memory_manager typedef at the top of algs.h. 2010-12-31 21:38:32 +00:00
misc_api Changed the set_current_dir() implementation so that it compiles in visual studio 2011-09-02 22:00:22 -04:00
mlp Renamed all the rand::kernel_1a and rand::float_1a declarations 2011-05-04 21:15:35 +00:00
numerical_integration Added missing assert 2013-05-24 21:56:15 -04:00
opencv Added a mat() overload for cv_image. 2012-12-25 10:22:06 -05:00
optimization Fixed a bug introduced yesterday 2013-01-26 10:28:44 -05:00
pipe Clarified recent change to the spec 2011-05-14 22:52:51 +00:00
quantum_computing This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
queue All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
rand Gave rand a constructor that takes a seed value. 2012-11-04 15:02:44 -05:00
reference_counter This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
sequence All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
server fixed grammar in a comment 2012-12-18 19:53:49 -05:00
set All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
set_utils Removed the old is_same_object function from set_utils 2010-11-12 18:16:08 +00:00
sliding_buffer All I did in this change was rename calls to array_to_matrix(), 2012-12-23 14:03:36 -05:00
smart_pointers Changed shared_ptr slightly to avoid warnings from gcc. 2011-09-22 20:25:33 -04:00
sockets Added comparison operators for network_address. 2013-01-26 17:23:39 -05:00
sockstreambuf Added an option for a sockstreambuf to automatically flush its output 2013-03-01 22:44:08 -05:00
sqlite Added missing #include 2013-03-13 18:11:18 -04:00
stack All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
static_map This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
static_set This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
statistics clarified spec 2013-06-15 15:23:36 -04:00
stl_checked This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
string Made split() work on char* strings. 2013-06-03 21:20:26 -04:00
svm clarified spec 2013-07-07 14:59:42 -04:00
sync_extension This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
test removed print statement 2013-06-15 15:20:32 -04:00
threads Changed code to avoid compiler errors in some environments. 2013-06-11 20:05:54 -04:00
timeout Removed cruft 2012-11-18 13:09:07 -05:00
timer Added a comment explaining why timer_heavy exists. 2012-11-18 12:58:21 -05:00
tokenizer This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
tuple This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
type_safe_union All I did in this change was rename a bunch of reinterpret_casts 2012-05-20 23:38:55 -04:00
unicode Added an openmode argument to the basic_utf8_ifstream. 2013-06-01 14:18:23 -04:00
vectorstream Added a pragma to disable a warning from visual studio 2012. 2012-11-25 19:52:32 -05:00
xml_parser Added the parse_xml() routines 2012-11-18 00:29:51 -05:00
add_python_module Made add_python_module add the tools/python/src folder to the include search 2013-06-01 14:24:22 -04:00
algs.h fixed spelling in comment 2013-03-23 14:49:32 -04:00
all_console.cpp This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
all_gui.cpp This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
any.h Added an any_function which supports the same functionality as std::function from the 2011-02-06 21:04:20 +00:00
array2d.h Just renamed this file 2012-03-10 14:27:37 -05:00
array.h Renamed the array implementation file to something more appropriate. 2012-03-10 14:21:47 -05:00
assert.h A minor change to avoid a warning in visual studio. 2012-12-28 08:27:20 -05:00
base64.h Changed the base64 object so you don't have to say base64::kernel_1a anymore to 2011-04-18 18:22:33 +00:00
bayes_utils.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
bigint.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
binary_search_tree.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
bit_stream.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
bound_function_pointer.h Converted the bound_function_pointer into a single implementation component. 2012-11-18 12:07:38 -05:00
bridge.h Added initial version of the bridge object. It is a tool for bridging 2011-05-13 21:21:23 +00:00
bsp.h Added initial BSP implementation. 2012-10-06 13:43:46 -04:00
byte_orderer.h You can now declare byte_orderer by saying just byte_orderer rather than 2011-04-18 15:02:29 +00:00
cassert Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
clustering.h Added newman_cluster(), chinese_whispers(), and modularity() routines. 2012-11-04 20:14:00 -05:00
cmake Made cmake file a little more convenient when used in large projects. 2013-05-21 20:20:10 -04:00
cmake_find_blas.txt Improved the help messages cmake outputs to tell the user how to install 2013-06-09 11:59:20 -04:00
CMakeLists.txt Improved the help messages cmake outputs to tell the user how to install 2013-06-09 11:59:20 -04:00
cmd_line_parser.h Fixed compiler error with the cmd_line_parser and global swap() introduced 2012-11-12 16:52:37 -05:00
compress_stream.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
conditioning_class.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
config_reader.h Added the get_option() routines which slightly simplify getting options 2012-02-02 23:52:51 -05:00
config.h Added a config.h file that can be used to permanently enable or disable 2012-12-25 09:59:07 -05:00
console_progress_indicator.h Made the console_progress_indicator::print_status() method return 2013-03-17 14:38:15 -04:00
cpp_pretty_printer.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
cpp_tokenizer.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
crc32.h Changed the crc32 object so you don't have to say crc32::kernel_1a anymore to 2011-04-18 13:47:43 +00:00
cstring Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
data_io.h Added the load_image_dataset() routine. 2012-03-21 21:04:56 -04:00
dir_nav.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
directed_graph.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
disjoint_subsets.h Added an implementation of the union-find algorithm. 2011-10-08 18:00:27 -04:00
dlib_include_path_tutorial.txt Fixed some grammar and typos 2008-06-21 14:32:03 +00:00
enable_if.h Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
entropy_decoder_model.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
entropy_decoder.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
entropy_encoder_model.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
entropy_encoder.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
error.h Added the get_option() routines which slightly simplify getting options 2012-02-02 23:52:51 -05:00
filtering.h Added the rls_filter object. 2012-03-07 22:25:54 -05:00
float_details.h Fixed a bug I introduced a few minutes ago. 2013-03-01 03:00:05 -05:00
fstream Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
geometry.h Moved the point/vector rotation/transformation code into its own file. 2012-12-11 21:18:57 -05:00
graph_cuts.h Just moved some files and #includes around a little. 2012-05-06 22:35:42 -04:00
graph_utils_threaded.h Made graph_utils_threaded.h #include graph_utils.h 2013-03-14 21:33:32 -04:00
graph_utils.h Moved more graph tools into the graph_utils folder. 2012-11-05 22:00:02 -05:00
graph.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
gui_core.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
gui_widgets.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
hash_map.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
hash_set.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
hash_table.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
hash.h Added count_bits() and hamming_distance() 2013-01-21 17:06:27 -05:00
image_io.h Added the load_image() function which just looks at a file's extension and 2011-05-27 19:19:11 -04:00
image_keypoint.h Added the binned_vector_feature_image. 2013-04-01 22:59:33 -04:00
image_processing.h Added remove_unobtainable_rectangles() 2013-04-13 18:15:46 -04:00
image_transforms.h Just renamed the file to colormaps.h 2012-03-18 16:19:00 -04:00
iomanip Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
iosfwd Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
iosockstream.h Added an iosockstream object. 2012-11-17 14:21:20 -05:00
iostream Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
is_kind.h Added is_array template. 2012-03-10 15:20:16 -05:00
istream Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
LICENSE.txt Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
linker.h Turned linker into a single implementation component. 2012-11-18 10:47:59 -05:00
locale Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
logger.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
lsh.h Added a set of new LSH based hashing functions meant for use 2013-03-14 20:01:30 -04:00
lz77_buffer.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
lzp_buffer.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
manifold_regularization.h Moved more graph tools into the graph_utils folder. 2012-11-05 22:00:02 -05:00
map.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
matrix.h Added fft() and ifft() 2013-04-20 12:57:24 -04:00
md5.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
member_function_pointer.h Turned the member_function_pointer into a single implementation component. 2012-11-17 23:16:55 -05:00
memory_manager_global.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
memory_manager_stateless.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
memory_manager.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
misc_api.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
mlp.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
noncopyable.h Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
numeric_constants.h Updated numeric_constants.h. Added a first version of 2013-05-04 19:39:57 -04:00
numerical_integration.h minor cleanup and formatting 2013-05-24 21:34:24 -04:00
opencv.h Added the toMat() routine for converting from a dlib style image to an 2012-04-21 22:42:51 -04:00
optimization.h Added find_max_parse_cky() and its supporting tools. 2012-11-11 21:10:16 -05:00
ostream Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
pipe.h Changed the pipe so you don't have to say pipe<type>::kernel_1a anymore. Now you 2011-04-18 13:59:27 +00:00
pixel.h Added some missing includes that only triggered a compiler error in 2013-01-15 18:03:29 -05:00
platform.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
quantum_computing.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
queue.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
rand.h Changed the rand object so you don't have to say rand::kernel_1a or 2011-05-04 21:09:22 +00:00
README.txt Fixed typo 2010-12-05 19:16:39 +00:00
ref.h Minor clarification. 2010-07-02 00:05:17 +00:00
reference_counter.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
release_build_by_default Simplified the cmake files by putting the stuff to make Release 2011-06-19 18:12:46 -04:00
sequence.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
serialize.h Added more comments 2013-04-20 14:13:42 -04:00
server.h Just renamed these files 2012-11-07 19:40:57 -05:00
set_utils.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
set.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
sliding_buffer.h Added a circular_buffer object. It is like sliding_buffer except it can 2012-03-06 20:53:37 -05:00
smart_pointers_thread_safe.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
smart_pointers.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
sockets.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
sockstreambuf.h Just renamed some files and turned the sockstreambuf into a single 2012-11-17 12:02:16 -05:00
sort.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
sparse_vector.h Gave the sparse vector tools their own #include file. 2012-05-01 19:46:29 -04:00
sqlite.h Added a C++ wrapper for SQLite. 2011-09-23 22:35:07 -04:00
sstream Properly organized the svn repository. Finally. 2008-05-02 14:19:38 +00:00
stack_trace.cpp This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
stack_trace.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
stack.h All I did in this change was rename memory_manager<char>::kernel_1a to default_memory_manager. 2010-12-31 21:45:37 +00:00
static_map.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
static_set.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
statistics.h Added average_precision() 2013-02-14 22:53:41 -05:00
std_allocator.h Added some code to workaround a bug in certain versions of gcc. 2012-12-05 19:29:38 -05:00
stl_checked.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
string.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
svm_threaded.h Just moved some files and #includes around a little. 2012-05-06 22:35:42 -04:00
svm.h Added structural_sequence_segmentation_trainer, test_sequence_segmenter(), 2013-05-12 17:06:57 -04:00
sync_extension.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
threads.h Added parallel_for() and parallel_for_blocked(). 2013-01-27 10:55:18 -05:00
time_this.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
timeout.h Turned timeout into a single implementation style object. Therefore, now it 2012-11-17 17:47:35 -05:00
timer.h Just renamed the timer source files. 2012-11-18 12:54:23 -05:00
timing.h Minor change to avoid compiler error in visual studio. 2013-05-14 20:15:46 -04:00
tokenizer.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
tuple.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
type_safe_union.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
uintn.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
unicode.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
unordered_pair.h Fixed a minor bug in unordered_pair 2010-12-26 18:46:44 +00:00
vectorstream.h Added the vectorstream object. 2012-11-18 15:53:55 -05:00
windows_magic.h This looks like a huge change but all I did was change the email address 2010-01-22 22:11:41 +00:00
xml_parser.h Turned the xml_parser into a single implementation component. 2012-11-17 23:51:24 -05:00

 
                           dlib C++ library

This project is a modern C++ library with a focus on portability 
and program correctness. It strives to be easy to use right and 
hard to use wrong. Thus, it comes with extensive documentation and 
thorough debugging modes. The library provides a platform abstraction 
layer for common tasks such as interfacing with network services, 
handling threads, or creating graphical user interfaces. Additionally, 
the library implements many useful algorithms such as data compression 
routines, linked lists, binary search trees, linear algebra and matrix 
utilities, machine learning algorithms, XML and text parsing, and many 
other general utilities.

Documentation:  
  There should be HTML documentation accompanying this library.  But
  if there isn't you can download it from http://dlib.net

Installation:
  To use this library all you have to do is extract the library 
  somewhere, make sure the folder *containing* the dlib folder is in 
  your include path, and finally add dlib/all/source.cpp to your 
  project.

  An example makefile that uses this library can be found here: 
  dlib/test/makefile. It is the makefile used to build the regression 
  test suite for this library. There is also a CMake makefile that 
  builds the regression test suite at dlib/test/CMakeLists.txt and 
  another CMake makefile that builds all the example programs in
  the examples folder.

  For further information see the accompanying HTML documentation or
  visit http://dlib.net

The license for this library can be found in LICENSE.txt.  But the
long and short of the license is that you can use this code however
you like, even in closed source commercial software.