Releases: oktonion/stdex
stdex-v0.2.7 - build 0.0.82
[0.2.7] - 2020-07-14
Added
-
namespace _stdex_ADL
for ADL hack for bugged compilers (pollutes global scope but gets job done) -
<mutex>
header: -
stdex::timed_mutex
andstdex::recursive_timed_mutex
implemented
-
moar tests to the god of tests
Changed
-
<mutex>
header: -
- throw exceptions if underlying pthread implementation is capable to detect errors (less bugs in production, more exceptions to handle, yeeeah!)
-
all build and test run scripts now povide more clear output
Fixed
-
stupid MS defines for
max
andmin
breaking valid code -
<thread>
header: -
stdex::this_thread::sleep_for
bug with sleep interval less than expected (sync OS clocks used in<thread>
with OS clocks ofstdex::chrono::system_clock
andstdex::chrono::steady_clock
)
-
- bugged compilers problems with
stdex::thread
functor argument params deduction
- bugged compilers problems with
-
<chrono>
implementation: -
- removed 1500ms time shift for MacOS implementation of
chrono
, this fix affectsstdex::chrono::system_clock::now()
,stdex::chrono::steady_clock::now()
,stdex::condition_variable::wait_for()
, all waitable mutexes etc.
- removed 1500ms time shift for MacOS implementation of
-
<chrono>
header: -
- correct constructors set for
stdex::chrono::duration
- correct constructors set for
-
- disabled
operator%
for floating pointstdex::chrono::duration::rep
- disabled
-
- using correct trait
stdex::chrono::treat_as_floating_point
for detecting floating pointstdex::chrono::duration::rep
- using correct trait
-
<system_error>
header: -
- correct construction for custom error codes with
stdex::make_error_code
using ADL hack for bugged compilers
- correct construction for custom error codes with
-
- correct construction for custom error conditions with
stdex::make_error_condition
using ADL hack for bugged compilers
- correct construction for custom error conditions with
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.6 - build 0.0.80
[0.2.6] - 2020-06-17
Added
-
<type_traits>
header: -
stdex::is_function
trait detection for different calling conventions
-
stdex::is_union
detection now includes more compiler intrinsics thus making it more accurate for distinguishing between class and union
-
<thread>
implementation: -
stdex::this_thread::sleep_for
is implemented as steady (monotonic) timer if available thus providing more precise sleep interval
Changed
-
improved threads blocking times
-
<chrono>
implementation: -
stdex::chrono::system_clock::is_steady
andstdex::chrono::steady_clock::is_steady
are now correct
-
- using more precise and correct clocks if provided by OS (f.e.
CLOCK_MONOTONIC_RAW
for newer Linux) affectsstdex::chrono::system_clock::now()
andstdex::chrono::steady_clock::now()
- using more precise and correct clocks if provided by OS (f.e.
Fixed
- threads native handle is determined as invalid now for empty
stdex::thread
object
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.5 - build 0.0.76
[0.2.5] - 2020-04-08
Changed
- includes now are consistent
Fixed
- threads for 4+ args typo
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.4 - build 0.0.73
[0.2.4] - 2020-03-07
Changed
- tabs to spaces in all header files
- C++ 98 standard support detection for GCC
Fixed
- warnings for possible overflow in
<ratio>
- warnings for using deprecated header
<strstream>
- compiler bug that was leading to
std::out_of_range
exception instdex::stol
,stdex::stoul
for perfectly valid u/long maximum, minimum value strings - new lines at EOF for all '.hpp'
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.3 - build 0.0.72
[0.2.3] - 2019-12-09
Added
- static asserts in constructors for
<system_error>
to forbid invalid constructor calls <algorithm>
header:-
- SFINAE checks for
std::copy_n
existence
- SFINAE checks for
Changed
<cstdint>
header:-
- hack for integral constant detection for Visual Studio 2019
- Borland Builder build script changed (removed extra cmd line arguments)
Fixed
<string>
header:-
- removed warnings for signed/unsigned casts in
itol
,itoul
etc.
- removed warnings for signed/unsigned casts in
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.2 - build 0.0.71
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.2 - build 0.0.70
Fixed
<typeindex>
header was missing so I found it in this release- internals of chrono are now carefully hidden
- updated UNIX scripts to correct line endings
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.1 - build 0.0.65
Added
<typeindex>
header:-
type_index
class
-
type_info
defined instdex
namespace
Changed
- clean internal macros
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.2.0 - build 0.0.64
Added
-
to_string
andto_wstring
now accept static arrays -
build script for Borland C++ Builder compiler
-
<cstdint>
header: -
intmax_t
,uintmax_t
-
int8_t
,uint8_t
-
int16_t
,uint16_t
-
int32_t
,uint32_t
-
int64_t
,uint64_t
-
int_least8_t
,uint_least8_t
-
int_least16_t
,uint_least16_t
-
int_least32_t
,uint_least32_t
-
int_least64_t
,uint_least64_t
-
int_fast8_t
,uint_fast8_t
-
int_fast16_t
,uint_fast16_t
-
int_fast32_t
,uint_fast32_t
-
int_fast64_t
,uint_fast64_t
-
intptr_t
,uintptr_t
All types are only in
stdex
namespace. Type is incomplete or absent if it is not supported.
-
- STDEX_INTMAX_MIN, STDEX_INTMAX_MAX, STDEX_UINTMAX_MAX
-
- STDEX_INT{N}_MIN, STDEX_INT{N}_MAX, STDEX_UINT{N}_MAX
-
- STDEX_INT_LEAST{N}_MIN, STDEX_INT_LEAST{N}_MAX, STDEX_UINT_LEAST{N}MAX
-
- STDEX_INT_FAST{N}_MIN, STDEX_INT_FAST{N}_MAX, STDEX_UINT_FAST{N}_MAX
-
- STDEX_INTPTR_MIN, STDEX_INTPTR_MAX, STDEX_UINTPTR_MAX
-
- STDEX_INTMAX_C(), STDEX_UINTMAX_C(), STDEX_INT{N}_C(), STDEX_UINT{N}_C()
Where {N} is one in 8, 16, 32, 64 (if present). Defines are invalid or absent if type is not supported.
Changed
- fixed bugs with
to_string
andto_wstring
for (w)c-strings and (w)stringstream implementation - "fixed"
is_union
implementation with nasty compiler-specific intrinsic (still returnstrue
for classes if compiler has no intrinsic) - changed pthread-win32 submodule dependency to my fork (origin have not been updated since forever)
- predefined types for
ratio
(likeyocto
,milli
,kilo
,exa
etc.) are now incomplete if are not supported (too large or too small) - all build scripts now work correctly
- fixed internal variables names with underscores
Removed
<stdint_ex.h>
for<cstdint.hpp>
/<cstdint>
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).
stdex-v0.1.3 - build 0.0.57
Added
-
<iterator>
header: -
prev
-
next
-
begin
-
end
-
- all of C++ 98 std functions
-
<algorithm>
header: -
all_of
-
any_of
-
none_of
-
find_if_not
-
copy_if
-
copy_n
-
random_shuffle
-
is_partitioned
-
partition_copy
-
is_sorted_until
-
is_sorted
-
minmax
-
minmax_element
-
is_permutation
-
- all of C++ 98 std functions
Changed
- fixed lots of micro bugs
- reimplemented
is_enum
andis_union
(unions are still not distinguishable from classes)
Release contains static prebuilded library for Visual Studio's with pthreads-win32. To include in your vs project add 'pthread/include' as global headers path (Configuration Properties->VC++ Directories->Include Directories or to enviromental variable INCLUDE).