A size-optimized STL implementation.
C++ Objective-C Other
Permalink
Failed to load latest commit information.
docs Update docs/ChangeLog with git tag text for v2.3-v2.5 releases. Nov 25, 2016
test Give descriptive names to tests Nov 25, 2016
.gitignore Update build system Sep 28, 2015
Config.mk.in Remove -Wno-long-double on MacOS. Apparently this warning is no longe… Jan 6, 2016
LICENSE Set all copyright dates to initial file creation to not abuse the alr… Mar 16, 2011
Makefile Forcibly ignore rmdir errors. Fixes #75. Apr 8, 2017
README Add README and web docs with gh-pages Nov 13, 2013
bktrace.cc Coding style changes Nov 25, 2014
bktrace.h Pull more system includes into utypes.h, before force inline define. May 9, 2016
cmemlink.cc Coding style changes Nov 25, 2014
cmemlink.h Coding style changes Nov 25, 2014
config.h.in Fix some clang compatibility warnings Nov 25, 2016
configure Remove -march=native from default compiler flags. Closes #53. Apr 6, 2017
fstream.cc Remove C-style comments Jul 28, 2016
fstream.h Coding style changes Nov 25, 2014
memblock.cc Pull more system includes into utypes.h, before force inline define. May 9, 2016
memblock.h Coding style changes Nov 25, 2014
memlink.cc Add noexcept wherever possible Feb 15, 2013
memlink.h Coding style changes Nov 25, 2014
metamac.h Replace header guards with pragma once Dec 4, 2012
mistream.cc Set eofbit|failbit in istream underflow Jan 6, 2016
mistream.h Add iterator_category type to all iterators, and its value tags. Closes Jan 10, 2016
mostream.h Add iterator_category type to all iterators, and its value tags. Closes Jan 10, 2016
ofstream.cc Pull more system includes into utypes.h, before force inline define. May 9, 2016
ofstream.h Move putback from istringstream to ifstream because istringsteam is a… Jan 13, 2016
simd.h Fixes to compile with clang 3.7 Jan 6, 2016
sistream.cc Fix hang in istringstream read_number at end of stream Mar 9, 2017
sistream.h Implement setw and setprecision manipulators. Jan 16, 2016
sostream.cc Fix some clang compatibility warnings Nov 25, 2016
sostream.h Implement ostringstream fill and setfill manip. Closes #58. May 11, 2016
strmsize.h Coding style changes Nov 25, 2014
traits.h Zero memory when constructing POD types instead of calling ctors Dec 21, 2015
typeinfo.h Move forced inline define after inclusion of libstdc++ headers due to… Feb 27, 2016
typelist.h Replace header guards with pragma once Dec 4, 2012
typet.h Remove tm::Conversion<T,U>::exists2Way Jan 9, 2016
ualgo.h Add clamp algorithm Nov 20, 2016
ualgobase.cc Remove unused stosv spec for non-intel builds Jan 6, 2016
ualgobase.h Implement exchange Nov 20, 2016
uarray.h Restrict initializer_list use to c++11 mode Sep 28, 2015
uatomic.h Move forced inline define after inclusion of libstdc++ headers due to… Feb 27, 2016
ubitset.cc Add noexcept wherever possible Feb 15, 2013
ubitset.h Remove operator<< and operator>> templates for ustl types. Mar 7, 2017
uchrono.h Remove brace ctor syntax to support gcc 4.8. Fixes #68. Jan 3, 2017
uctralgo.h Coding style changes Nov 25, 2014
uctrstrm.h Remove operator<< and operator>> templates for ustl types. Mar 7, 2017
uerror.h Pull more system includes into utypes.h, before force inline define. May 9, 2016
uexception.cc Move libc_exception, file_exception, and stream_bounds_exception to s… Dec 25, 2015
uexception.h Move forced inline define after inclusion of libstdc++ headers due to… Feb 27, 2016
ufunction.h Coding style changes Nov 25, 2014
uheap.h Implement c++11 members of priority_queue Apr 3, 2016
uios.h Optimize istringstream get string Jan 8, 2016
uiosfunc.h Implement setw and setprecision manipulators. Jan 16, 2016
uiterator.h Add front_insert_iterator and move_iterator Nov 20, 2016
ulaalgo.h Coding style changes Nov 25, 2014
ulimits.h Implement c++11 float fields in numeric_limits Nov 20, 2016
ulist.h Implement chrono Nov 24, 2016
umap.h Restrict initializer_list use to c++11 mode Sep 28, 2015
umatrix.h Remove operator<< and operator>> templates for ustl types. Mar 7, 2017
umemory.h Implement gcd and lcm Nov 23, 2016
umultimap.h Restrict initializer_list use to c++11 mode Sep 28, 2015
umultiset.h Restrict initializer_list use to c++11 mode Sep 28, 2015
unew.cc Remove unused argument n in MacOS version of sized delete operators Jan 9, 2016
unew.h Pull more system includes into utypes.h, before force inline define. May 9, 2016
unumeric.h Coding style changes Nov 25, 2014
upair.h Remove operator<< and operator>> templates for ustl types. Mar 7, 2017
upredalgo.h Fix incorrect pred check in remove_copy_if. Fixes #66. Sep 28, 2016
uqueue.h Implement c++11 members of priority_queue Apr 3, 2016
uratio.h Implement serialization and text printing of chrono types Nov 24, 2016
uset.h Restrict initializer_list use to c++11 mode Sep 28, 2015
uspecial.h latest warnings from uspecial.h has been resolved Mar 9, 2017
ustack.h Implement c++11 members of priority_queue Apr 3, 2016
ustdxept.cc Pull more system includes into utypes.h, before force inline define. May 9, 2016
ustdxept.h Rename libc_exception to system_error; in c++14 that is now a standard Dec 25, 2015
ustl.h Use atomic refcount in shared_ptr May 31, 2016
ustldoc.in Give descriptive names to tests Nov 25, 2016
ustring.cc Remove C-style comments Jul 28, 2016
ustring.h Pull more system includes into utypes.h, before force inline define. May 9, 2016
utf8.h Fix utf8out_iterator postfix ++ to not create a new iterator Mar 22, 2016
uttraits.h Fix some clang compatibility warnings Nov 25, 2016
utuple.h Restrict initializer_list use to c++11 mode Sep 28, 2015
utypes.h Include <intializer_list> when --with-libstdc++. Fixes #63. Jul 14, 2016
uutility.h Implement chrono Nov 24, 2016
uvector.h Add uninitialized_default_construct,_value_construct, uninitialized_m… Nov 20, 2016

README

                         ####  #####  #
                         #       #    #
                    # #  ####    #    #
                    # #     #    #    #
                    ###  ####    #    ####
                    #
============================================================================

uSTL is a partial implementation of the C++ standard library that focuses on
decreasing the memory footprint of user executables. While many projects can
use it to replace the standard library without any code changes, there exist
important differences that you should be aware of. Please read documentation
in docs/index.html (or online at http://msharov.github.io/ustl) before using
this library in your project.

uSTL ought to still compile under gcc as old as 2.95, but many features will
be unavailable. For best results, including C++11 support, use at least 4.6.
Clang 3.2 or later is also supported. There are no other dependencies.

Latest version:		https://github.com/msharov/ustl/releases/latest

./configure && make && make check && make install

Build configuration is in Config.mk and config.h, generated by configure.

Bug tracker:		https://github.com/msharov/ustl/issues
Working git branch:	https://github.com/msharov/ustl