8000 Tags · andrewprock/ustl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: andrewprock/ustl

Tags

v2.1

Toggle v2.1's commit message

Verified

This tag was signed with the committer’s verified signature.
msharov Mike Sharov
2014-01-21 Release 2.1

	* Implement array
	* A few minor bugfixes

v2.0

Toggle v2.0's commit message
2013-02-14 Release 2.0

	* Some C++11 features implemented. All containers now have move
	    operations, emplace, and initializer lists. noexcept and
	    constexpr added where appropriate.
	* Conform string API to standard
	    All standard member functions are now present
	    API change: insert(s,c,n) to insert(s,n,c)
	* Compilation with clang is now supported. clang 3.2 required.
	* Change margin allocation strategy to pow2 growth from +64
	* reserve will now use margin allocation by default, resize is still exact
	* Detect sys/mman.h and make it optional
	* Do not close stdin,stdout,stderr on exit
	* Do not use %m to format errors
	* Enable copy-on-write in memblock erase
	* Replace header guards with pragma once
	* Stop stripping zeroes when assigning specified-length strings

v1.6

Toggle v1.6's commit message
2012-02-18 Release 1.6

	* Fixed compilation with c++0x
	    alignof is a keyword in c++0x, so the stream version usually not needed now.
	    On the other hand, alignof can not be overloaded, so stream_align_of is the
	    new name for the old alignof. Most code should not require changes due to this.
	* Fix iat in string, which did not handle npos argument correctly, sometimes
	    resulting in failures of other functions using it, like substr.

v1.5

Toggle v1.5's commit message
2011-03-16 Release 1.5

	* Updated set, map, and multimap with full set of insert, erase, and search overloads
	* Added public lower_bound, upper_bound, and equal_range to map, as per standard
	* Added comparator parameter to set, multiset, map, and multimap.
	* Implemented FirstBit, Rol, Ror, and a generic NextPow2
	* Remove memlink copy because it conflicts with string copy
	* Operators returning a new value should be const
	* Added char* + string operator, and a noarg erase
	* Added --force-inline configure option
	* Removed all references to stdc++ headers when not using libstdc++
	* Fixed minor glitches compiling with clang++
	* Other small fixes

v1.4

Toggle v1.4's commit message
Release v1.4

v1.3

Toggle v1.3's commit message
2009-08-04 Release 1.3

	* Some API changes to comply with the current C++ standard
	    binary_search algo returns true, not the found iterator
	    stack and queue are now type templates, not container adaptors.
	    Correctly set eof and fail flags in all stream functions
		This allows the use of the non-exception path in streams
		verify_remaining will no longer throw unless exceptions are on in the stream
		verify_remaining will return false if space is insufficient and set flags
		exceptions are on by default in istream and ostream and off elsewhere
	    Updated return values of stream functions to match the standard
	    what() on message exceptions returns the text passed to the ctor
	    set insert also returns an iterator/bool pair
	    map insert now returns an iterator,bool pair
	* streamsize and streamoff types defined
	* Added string resize with a value arg
	* Added standalone getline
	* Added numeric_limits digits and digits10
	* Name demangling is now an option, off by default, removing ~20k
	* A new and improved nonrecursive make system
	* Numerous small size and speed optimizations
	* A few minor bugfixes

v1.2

Toggle v1.2's commit message
2008-02-17 Release 1.2

	* Fixed ifstream readsome to work correctly on nonblocking fds.
	* Yet another try at fixing noalias rearrangments.
		Added a memory clobber and +g to noalias templates.
	* Added dtors template which will embody range destructors for
		destroy and vector dtor instead of vector deallocate. It is
		called by destroy through a selector template, turning it off
		completely for integral types. This removes empty deallocate
		instantiations for integral type vectors.
	* Fixed bitset stream_size (bits-words confusion)
	* Added workaround for compile error when printing a char array.
	* Added static_assert from Loki.
	* Fixed some asm problems on i386

v1.1

Toggle v1.1's commit message
2007-09-02 Release 1.1

	* Due to the demise of SourceForge compile farm, this and subsequent
		releases are not as well tested the previous ones. So please
		report compilation problems, if any, on non-x86_64 platforms.
	* Fixed various aliasing problems complained about by gcc 4.2.
	* Added noalias_cast<type>(v) to aid in working around the above
		aliasing problem. The aliased variables also must be
		explicitly touched by an empty asm statement or something.
	* Reimplemented stream_size_of as a template stack because the old
		implmentation is invalid in gcc 4.2+ due to a change in
		overloaded set lookup scope. vector and tuple now have the
		standard read/write/stream_size members.
	* Reimplemented flow operators as templates.
	* STD_STREAMABLE and TEXT_STREAMABLE are no longer necessary.
	* Merged some template metaprogramming stuff from Alexandrescu's Loki
		library, including typelists and type traits.
	* Implemented generic macro list macros. See metamac.h.
	* Fixed some bsconf warnings.
	* memblock is_linked now correctly returns true when linked to NULL.
	* Added back() to string.
	* Fixed a memory leak in CBacktrace GetSymbols.
	* Changed written exception data to look like an IFF chunk.
	* Removed "memory" from some simd spec clobber lists.
	* Reduced the amount of code generated by vector stream templates.
	* talign will no longer generate a temp object when called with
		non-trivial classes. Uses NullValue template to avoid.
	* Linking with gcc instead of using -nodefaultlibs is simpler.
	* Removed link number overloads. Sadly, I don't know what this will
		break, if anything. On my machine the only case is link(p,0),
		which generates an ambiguity error and is easily fixed by
		explicitly casting the zero to a size_t. The benefit is
		cleaner code and fewer problems for the Symbian port, so the
		change stays until/unless somebody reports it as a problem.
	* Added long4grain and ptr4grain wrappers to explicitly write long
		values on 4-grain, even on 64bit platforms.

v0.1

Toggle v0.1's commit message
2003-03-20 Release 0.1

	* Initial revision

v1.0

Toggle v1.0's commit message
2006-10-27 Release 1.0 SVN 428

	* API CHANGE: ostringstream now works like std::ostringstream, with
		an internal buffer instead of writing to an external one
		through a link. Instead of passing the buffer to the ctor,
		write directly to a default-constructed stream object and
		assign buf = os.str() when finished.
	* Format change: containers will now write their size as a uint32_t
		instead of size_t to allow binary compatibility with 64 bit
		architectures. On 32 bit machines this makes no difference.
	* Renamed fdostringstream to ofstream.
	* Renamed fdistringstream to ifstream.
	* Renamed iterator_swap to iter_swap, as in the standard.
	* file.h/cc was removed; fstream replaces its functionality.
	* Added most remaining i/ostringstream functions that make sense in
		this implementation: str, put, get, getline, ignore, peek,
		readsome, putback, unget, tellg, seekg, sync, flush, seekp,
		tellp, good. The rest will probably not be implemented at
		all, since they reference streambufs which don't exist in uSTL.
	* Implemented fstream and used it in ifstream/ofstream.
	* Added remaining algorithms: find_end, find_first_of, includes,
		is_sorted, lexicographical_compare, max_element, min_element,
		partial_sort, partial_sort_copy, partition, next_permutation,
		prev_permutation, reverse_copy, rotate_copy, search, search_n,
		set_difference, set_intersection, set_symmetric_difference,
		set_union, and stable_partition. All the algorithms defined by
		the C++ standard are now implemented.
	* Made ios_base and ios classes instead of namespaces and derived
		all stream objects from ios_base. Pulled up state and all
		related functions into it. The only problem with this is that
		end() conflicts with seekdir end, so you'll need to use
		ios scope when you want the latter.
	* Align container ends on 4 grain.
		While this is not very friendly to 64bit architectures, it is
		the only way to allow writing containers portably. It is
		better to always align to an arbitrary value than to align to
		a platform-dependent one.
	* Removed non-const data pointer from memlink.
		While enforcing const-correctness is a good thing, the errors
		this catches are relatively rare and are all programmer errors.
		I must concede that the benefits of having memblocks, strings,
		and containers be 16 bytes in size is a great advantage in both
		speed and codesize. As a result, one needs to be more mindful
		to not modify memlink-derived objects that are linked to const
		data; before this change it would have caused a crash, now it
		might or might not do that, as with regular pointers.
	* Added CBacktrace class for printing backtrace information.
	* x86_64 cleanup and improvements, including MMX support.
	* Micro-optimization pass for size. Saved 24% (32k)!
	* exception now creates a backtrace when thrown.
	* Do cout.flush() before read in cin, like std does.
	* max_size() on linked objects should return size(), because it is.
	* >=, <=, and compare templates no longer require == (>= is !<)
	* Pulled rotate code into rotate_fast for memory blocks.
	* stream_bounds_exception demangles type names.
	* set,map,multiset,multimap now instantiate less crud.
	* Abandoned any attempt to use the goddamned byteswap.h.
	* Implemented bitset any, none, and count.
	* New popcount algorithms.
	* Implemented compose1 and compose2 extensions.
	* Support building as a .dylib on MacOS.
	* Removed --without-cout configure option.
0