Howard Hinnant
|
b5452b3db5
|
After a long break to wait for the atomic spec to settle, this completes the library part of <atomic>. It currently won't even parse as it depends on the existence of the intrinsics specified at http://libcxx.llvm.org/atomic_design_a.html. Everything has been tested using fake intrinsics which have now been removed. As the intrinsics come online, the ATOMIC_* macros will need to be adjusted to reflect which operations are lock-free. These macros will probably need to be #ifdef'd for each supported platform.
llvm-svn: 121267
|
2010-12-08 17:20:28 +00:00 |
Howard Hinnant
|
c5f5f0a166
|
atomics ...
llvm-svn: 121204
|
2010-12-07 23:24:41 +00:00 |
Howard Hinnant
|
c772a62096
|
Work on <atomic> continues. The file size is actually sane now...
llvm-svn: 121181
|
2010-12-07 20:46:14 +00:00 |
Howard Hinnant
|
9847abacb1
|
Getting <atomic> warmed back up. We have a hopefully more stable spec now. And I believe the intrinsic spec at http://libcxx.llvm.org/atomic_design_a.html is still good.
llvm-svn: 121064
|
2010-12-06 23:10:08 +00:00 |
Howard Hinnant
|
1596c4531b
|
N3189 Observers for the three handler functions
llvm-svn: 120712
|
2010-12-02 16:45:21 +00:00 |
Howard Hinnant
|
92e3718b13
|
Implemented N3194
llvm-svn: 120458
|
2010-11-30 20:23:32 +00:00 |
Howard Hinnant
|
6fd5c65095
|
Minor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK
llvm-svn: 120258
|
2010-11-28 19:41:07 +00:00 |
Howard Hinnant
|
0c6a0fe7fb
|
Add template alias emulation to <ratio>
llvm-svn: 120098
|
2010-11-24 17:05:06 +00:00 |
Howard Hinnant
|
e3120ed1bf
|
N3188 - Revision to N3113: Async Launch Policies (CH 36)
llvm-svn: 120027
|
2010-11-23 18:33:54 +00:00 |
Howard Hinnant
|
3dc6455ff0
|
N3191: C++ Timeout Specification
llvm-svn: 119909
|
2010-11-20 19:16:30 +00:00 |
Howard Hinnant
|
092980dd65
|
N3123
llvm-svn: 119906
|
2010-11-20 18:25:22 +00:00 |
Howard Hinnant
|
ca74048398
|
N3142. Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.
llvm-svn: 119854
|
2010-11-19 22:17:28 +00:00 |
Howard Hinnant
|
d518d1c807
|
LWG 1522
llvm-svn: 119710
|
2010-11-18 17:34:48 +00:00 |
Howard Hinnant
|
908484b147
|
LWG 1439
llvm-svn: 119703
|
2010-11-18 17:01:36 +00:00 |
Howard Hinnant
|
48d05bd26c
|
LWG 1339
llvm-svn: 119699
|
2010-11-18 16:13:03 +00:00 |
Howard Hinnant
|
fb34010258
|
LWG 1432
llvm-svn: 119611
|
2010-11-18 01:47:02 +00:00 |
Howard Hinnant
|
a4a1ef1fc2
|
LWG 1404
llvm-svn: 119609
|
2010-11-18 01:40:00 +00:00 |
Howard Hinnant
|
d09f711dc2
|
LWG 1325
llvm-svn: 119571
|
2010-11-17 21:53:14 +00:00 |
Howard Hinnant
|
5ba1459c4c
|
LWG 1323
llvm-svn: 119560
|
2010-11-17 21:11:40 +00:00 |
Howard Hinnant
|
601afb30ec
|
LWG 1191
llvm-svn: 119545
|
2010-11-17 19:52:17 +00:00 |
Howard Hinnant
|
ef6168357a
|
LWG 1118
llvm-svn: 119541
|
2010-11-17 19:22:43 +00:00 |
Howard Hinnant
|
57d1ebcc38
|
Update <string> to use allocator_traits.
llvm-svn: 119522
|
2010-11-17 17:55:08 +00:00 |
Howard Hinnant
|
412dbebe1b
|
license change
llvm-svn: 119395
|
2010-11-16 22:09:02 +00:00 |
Howard Hinnant
|
9b35c8275c
|
Dave Zarzycki showed how the efficiency of shared_ptr could be significantly
increased. The following program is running 49% faster:
#include <iostream>
#include <memory>
#include <chrono>
#include <vector>
#include "chrono_io"
int main()
{
typedef std::chrono::high_resolution_clock Clock;
Clock::time_point t0 = Clock::now();
{
std::shared_ptr<int> p(new int (1));
std::vector<std::shared_ptr<int> > v(1000000, p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
v.insert(v.begin(), p);
}
Clock::time_point t1 = Clock::now();
std::cout << (t1-t0) << '\n';
}
llvm-svn: 119388
|
2010-11-16 21:33:17 +00:00 |
Howard Hinnant
|
c4931c4746
|
I have reverted all contributions made by Jesse Towner in revision 110724
llvm-svn: 119383
|
2010-11-16 21:10:23 +00:00 |
Howard Hinnant
|
007b26be68
|
Fixed bug in random_shuffle to avoid swapping with self
llvm-svn: 117098
|
2010-10-22 15:26:39 +00:00 |
Howard Hinnant
|
a7c2f3eac3
|
[atomics.types.address]
llvm-svn: 117033
|
2010-10-21 17:44:19 +00:00 |
Howard Hinnant
|
f9c02e15c4
|
atomic_schar, atomic_uchar, atomic_short, atomic_ushort, atomic_int, atomic_uint, atomic_long, atomic_ulong, atomic_llong, atomic_ullong, atomic_char16_t, atomic_char32_t and atomic_wchar_t.
llvm-svn: 116860
|
2010-10-19 21:22:10 +00:00 |
Howard Hinnant
|
d89b01e521
|
atomic_char
llvm-svn: 116813
|
2010-10-19 16:51:18 +00:00 |
Howard Hinnant
|
b2b5513dcc
|
Changing <atomic> to follow Design A
llvm-svn: 116742
|
2010-10-18 20:39:07 +00:00 |
Howard Hinnant
|
10e4a48a26
|
Convert __thread_local_data to the singleton pattern
llvm-svn: 116500
|
2010-10-14 19:18:04 +00:00 |
Howard Hinnant
|
a65a935ba4
|
Bug 7983 fixed by Bernhard Rosenkraenzer
llvm-svn: 116487
|
2010-10-14 17:11:39 +00:00 |
Howard Hinnant
|
e79d71e2e3
|
Patch by Marshall Clow to make the assignment operators of piecewise_constant_distribution and piecewise_linear_distribution exception safe.
llvm-svn: 116404
|
2010-10-13 14:37:09 +00:00 |
Howard Hinnant
|
0f444b3b16
|
Corrected an inconsistency with recent changes in tuple, and perfect forwarding within bind
llvm-svn: 115930
|
2010-10-07 18:03:23 +00:00 |
Howard Hinnant
|
772699070e
|
Make flag type configurable by the compiler
llvm-svn: 115614
|
2010-10-05 14:02:23 +00:00 |
Howard Hinnant
|
69c3cb85ab
|
Thanks Sebastian\!
llvm-svn: 115612
|
2010-10-05 13:38:23 +00:00 |
Howard Hinnant
|
668523a1b8
|
Filling out the infrastructure in <atomic>
llvm-svn: 115577
|
2010-10-04 23:55:35 +00:00 |
Howard Hinnant
|
d5a97fc683
|
__has_feature crutch
llvm-svn: 115540
|
2010-10-04 19:01:30 +00:00 |
Howard Hinnant
|
2b672e24a5
|
Still working on the basic design of <atomic>. I'm working towards a system by which the compiler only needs to define the strongest intrinsics it can. Weaker atomics in the library automatically try stronger and stronger variants, picking the weakest compiler intrinsic available. If no compiler intrinsics are available for a given operation, the library locks a mutex and does the job. Better documentation to follow...
llvm-svn: 115538
|
2010-10-04 18:52:54 +00:00 |
Howard Hinnant
|
2ec672fff5
|
Tweak to make clang blocks work with std::functional (very fragile)
llvm-svn: 115461
|
2010-10-03 13:59:56 +00:00 |
Howard Hinnant
|
748a5279b1
|
[atomics.flag] completed. Initialization is not working on clang and can't be made to work without defaulted default constructors.
llvm-svn: 115207
|
2010-09-30 21:05:29 +00:00 |
Howard Hinnant
|
a31e741ac9
|
Name change of intrinsics as suggested by Jeffrey Yasskin
llvm-svn: 115145
|
2010-09-30 14:04:35 +00:00 |
Howard Hinnant
|
88efc1c7a5
|
Contemplating this <atomic> reorganization...
llvm-svn: 115087
|
2010-09-29 21:20:03 +00:00 |
Howard Hinnant
|
7387390d6e
|
Wrestling with the slowly dawning realization that <atomic> isn't implementable on any compiler at my disposal...
llvm-svn: 115054
|
2010-09-29 18:13:54 +00:00 |
Howard Hinnant
|
cfe0b0a1ab
|
[atomics.order]
llvm-svn: 114966
|
2010-09-28 17:13:38 +00:00 |
Howard Hinnant
|
cd39d413b4
|
Getting started on <atomic>
llvm-svn: 114887
|
2010-09-27 21:17:38 +00:00 |
Howard Hinnant
|
f5241d7586
|
Bugzilla 8231
llvm-svn: 114851
|
2010-09-27 18:09:23 +00:00 |
Howard Hinnant
|
30ad985b6b
|
Cleaning up some tuple code.
llvm-svn: 114848
|
2010-09-27 17:54:17 +00:00 |
Howard Hinnant
|
789847ddbb
|
visibility-decoration sweep completed.
llvm-svn: 114685
|
2010-09-23 18:58:28 +00:00 |
Howard Hinnant
|
e060133553
|
visibility-decoration.
llvm-svn: 114671
|
2010-09-23 17:31:07 +00:00 |
Howard Hinnant
|
53ec0b4e8e
|
visibility-decoration.
llvm-svn: 114658
|
2010-09-23 16:27:36 +00:00 |
Howard Hinnant
|
3e84caaebb
|
visibility-decoration.
llvm-svn: 114647
|
2010-09-23 15:13:20 +00:00 |
Howard Hinnant
|
392183f99d
|
visibility-decoration.
llvm-svn: 114559
|
2010-09-22 18:02:38 +00:00 |
Howard Hinnant
|
848a5374d0
|
visibility-decoration.
llvm-svn: 114551
|
2010-09-22 16:48:34 +00:00 |
Howard Hinnant
|
3030b2f1ab
|
visibility-decoration.
llvm-svn: 114545
|
2010-09-22 15:29:08 +00:00 |
Howard Hinnant
|
a3988679f9
|
visibility-decoration.
llvm-svn: 114543
|
2010-09-22 14:16:26 +00:00 |
Howard Hinnant
|
0af133f941
|
visibility-decoration.
llvm-svn: 114496
|
2010-09-21 22:55:27 +00:00 |
Howard Hinnant
|
fb100021b7
|
visibility-decoration.
llvm-svn: 114486
|
2010-09-21 21:28:23 +00:00 |
Howard Hinnant
|
f5ab703f68
|
visibility-decoration.
llvm-svn: 114470
|
2010-09-21 20:16:37 +00:00 |
Howard Hinnant
|
35ae4a20cd
|
visibility-decoration.
llvm-svn: 114465
|
2010-09-21 18:58:51 +00:00 |
Howard Hinnant
|
43d9923860
|
visibility-decoration.
llvm-svn: 114451
|
2010-09-21 17:32:39 +00:00 |
Howard Hinnant
|
4c88c9803f
|
Getting started on a visibility-decoration sweep.
llvm-svn: 114440
|
2010-09-21 16:04:28 +00:00 |
Howard Hinnant
|
d8e7922ba2
|
Tweak clang support for char16_t/char32_t
llvm-svn: 114129
|
2010-09-16 23:27:26 +00:00 |
Howard Hinnant
|
03976c1b62
|
Cement ABI on clang for char16_t and char32_t. Also fixed some comments in <iterator>.
llvm-svn: 113842
|
2010-09-14 20:26:27 +00:00 |
Howard Hinnant
|
8fb62e398a
|
Experimenting with a new forward fomulation (kudos Daniel Kruegler), updated insert iterators to work better with pproxies, and doubled the speed of __next_prime.
llvm-svn: 113731
|
2010-09-13 01:43:27 +00:00 |
Howard Hinnant
|
37030a77a0
|
Fix another const bug in function. Thanks to Daniel Krugler for finding this and the previous bug.
llvm-svn: 113686
|
2010-09-11 15:33:21 +00:00 |
Howard Hinnant
|
42daac442b
|
Fix const bug in function
llvm-svn: 113684
|
2010-09-11 15:09:37 +00:00 |
Howard Hinnant
|
f9cca3b7d0
|
I am experimenting with putting visibility-default attributes on all struct/classes in libc++. This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do. If I get no negative feedback on this procedure I will begin to decorate the entire library in this way.
llvm-svn: 113590
|
2010-09-10 16:42:26 +00:00 |
Howard Hinnant
|
7d1c2a0f3a
|
Yonggang Luo fixed gcc version checking for type_traits support.
llvm-svn: 113487
|
2010-09-09 13:58:34 +00:00 |
Howard Hinnant
|
10b9b7b4bd
|
Hooked the following up to clang: is_class, is_enum, has_nothrow_copy_assign, has_trivial_destructor, has_virtual_destructor, is_pod. Implemented has_copy_assign.
llvm-svn: 113373
|
2010-09-08 17:55:32 +00:00 |
Howard Hinnant
|
331b3dd2ad
|
has_trivial_copy_assign hooked up to clang (without workarounds). Filed http://llvm.org/bugs/show_bug.cgi?id=8109 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
llvm-svn: 113312
|
2010-09-07 23:38:59 +00:00 |
Howard Hinnant
|
bfc4026f4c
|
Made a stab at has_copy_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
llvm-svn: 113304
|
2010-09-07 23:11:28 +00:00 |
Howard Hinnant
|
06fc97019a
|
has_nothrow_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8107 to take care of several types which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle most of them in the library.
llvm-svn: 113294
|
2010-09-07 22:09:07 +00:00 |
Howard Hinnant
|
01fd31000b
|
has_trivial_copy_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8105 to take care of void, arrays of incomplete bounds and complete bounds which don't work yet. If there is some reason we don't want to handle these types in the compiler, I can handle them in the library.
llvm-svn: 113270
|
2010-09-07 20:31:18 +00:00 |
Howard Hinnant
|
ba6f71b030
|
Made a stab at has_default_constructor. Got it mostly working for g++-4.0, but only works for scalar types on clang. Ultimately this needs a compiler-supported is_constructible which clang is missing, and won't be able to use until it gets variadic templates.
llvm-svn: 113225
|
2010-09-07 17:47:31 +00:00 |
Howard Hinnant
|
f336abfcd2
|
has_nothrow_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8101 to take care of void, arrays of incomplete types, and classes with virtual destructors which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
llvm-svn: 113217
|
2010-09-07 17:15:17 +00:00 |
Howard Hinnant
|
c3ed8c312e
|
has_trivial_default_constructor hooked up to clang. Filed http://llvm.org/bugs/show_bug.cgi?id=8097 to take care of void and arrays of incomplete types which don't work yet. If there is some reasons we don't want to handle these types in the compiler, I can handle them in the library.
llvm-svn: 113205
|
2010-09-07 15:53:26 +00:00 |
Howard Hinnant
|
db3e9975d0
|
Working the type_traits area: Hooked up to clang's __is_union. Got has_trivial_copy_assign working.
llvm-svn: 113162
|
2010-09-06 19:10:31 +00:00 |
Howard Hinnant
|
959cf8aede
|
Fix whitespace
llvm-svn: 113089
|
2010-09-04 23:46:48 +00:00 |
Howard Hinnant
|
7609c9b665
|
Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.
llvm-svn: 113086
|
2010-09-04 23:28:19 +00:00 |
Howard Hinnant
|
7f2aae9937
|
Configure libc++ to recognize and use inline namespaces for clang. Many, many thanks to Sebastian Redl for implementing it in clang, and to Daniel Dunbar for rattling my cage about it. This is huge for libc++. Thanks to you both\!
llvm-svn: 113026
|
2010-09-03 23:03:25 +00:00 |
Howard Hinnant
|
b77c0c03bb
|
[futures.atomic_future] and notify_all_at_thread_exit. This completes the header <future> and all of Chapter 30 (for C++0x enabled compilers).
llvm-svn: 113017
|
2010-09-03 21:46:37 +00:00 |
Howard Hinnant
|
ead85506a7
|
[futures.shared_future]
llvm-svn: 112990
|
2010-09-03 18:39:25 +00:00 |
Howard Hinnant
|
27f000e10b
|
[futures.task] and [futures.async]. Requires variadics and rvalue-ref support.
llvm-svn: 112500
|
2010-08-30 18:46:21 +00:00 |
Howard Hinnant
|
8759d9d4d0
|
[futures.promise]. Depends on rvalue-ref support to work 100%.
llvm-svn: 112388
|
2010-08-28 21:01:06 +00:00 |
Howard Hinnant
|
167fd1084b
|
future continues ...
llvm-svn: 112284
|
2010-08-27 20:10:19 +00:00 |
Howard Hinnant
|
dae3481b28
|
Getting started on <future>
llvm-svn: 112061
|
2010-08-25 17:32:05 +00:00 |
Howard Hinnant
|
fae824a32d
|
Remove tabs
llvm-svn: 111778
|
2010-08-22 13:53:14 +00:00 |
Howard Hinnant
|
b3371f6f49
|
Fixing whitespace problems
llvm-svn: 111750
|
2010-08-22 00:02:43 +00:00 |
Howard Hinnant
|
9f1102b7fe
|
US 108, N3109
llvm-svn: 111747
|
2010-08-21 21:14:53 +00:00 |
Howard Hinnant
|
e8e7af2477
|
DE 23
llvm-svn: 111746
|
2010-08-21 21:01:59 +00:00 |
Howard Hinnant
|
3db88036f6
|
US 117
llvm-svn: 111745
|
2010-08-21 20:58:44 +00:00 |
Howard Hinnant
|
4eb27b79c1
|
US 122, N3106
llvm-svn: 111742
|
2010-08-21 20:10:01 +00:00 |
Howard Hinnant
|
9b0b6d45d2
|
Installed allocator into std::function
llvm-svn: 111672
|
2010-08-20 19:36:46 +00:00 |
Howard Hinnant
|
cbbc430d24
|
JP 3 & JP 4
llvm-svn: 111547
|
2010-08-19 19:20:10 +00:00 |
Howard Hinnant
|
907af2668f
|
GB 85, GB 87
llvm-svn: 111546
|
2010-08-19 19:15:54 +00:00 |
Howard Hinnant
|
de6d046575
|
DE 19
llvm-svn: 111544
|
2010-08-19 19:09:08 +00:00 |
Howard Hinnant
|
1102fbbd67
|
US 98, US 99
llvm-svn: 111542
|
2010-08-19 18:59:38 +00:00 |
Howard Hinnant
|
20cc2a42b8
|
US 107
llvm-svn: 111538
|
2010-08-19 18:39:17 +00:00 |
Howard Hinnant
|
e57dc14c44
|
LWG 1278
llvm-svn: 111532
|
2010-08-19 17:40:04 +00:00 |
Howard Hinnant
|
5e2f7b89e9
|
Updated by-chapter chart with weekly test results. Also did some prototyping on result_of, but if-def'd out the prototyped part (which the LWG may or may not accept)
llvm-svn: 111389
|
2010-08-18 18:52:04 +00:00 |
Howard Hinnant
|
86550b0038
|
[re.alg.replace]. This finishes all of <regex>. That being said, <regex> is exceptionally difficult to thoroughly test. If anyone has the ability to test this, combined with the interest to do so, now would be a good time. :-)
llvm-svn: 111333
|
2010-08-18 00:13:08 +00:00 |
Howard Hinnant
|
14dcd3d1ff
|
[re.tokiter]
llvm-svn: 111278
|
2010-08-17 20:42:03 +00:00 |
Howard Hinnant
|
2bf1fd99b1
|
[re.regiter]
llvm-svn: 111178
|
2010-08-16 20:21:16 +00:00 |
Howard Hinnant
|
48b242a275
|
Everything under [re.results]
llvm-svn: 111074
|
2010-08-14 18:14:02 +00:00 |
Howard Hinnant
|
5cd6658798
|
Everything under [re.regex]
llvm-svn: 111024
|
2010-08-13 18:11:23 +00:00 |
Howard Hinnant
|
3d87b69f7d
|
Filling out regex tests...
llvm-svn: 110955
|
2010-08-12 21:14:20 +00:00 |
Howard Hinnant
|
54b409fdb9
|
now works with -fno-exceptions and -fno-rtti
llvm-svn: 110828
|
2010-08-11 17:04:31 +00:00 |
David Chisnall
|
37aab7674a
|
#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available.
llvm-svn: 110827
|
2010-08-11 16:52:41 +00:00 |
David Chisnall
|
2a072dde4b
|
Include sys/endian.h on FreeBSD and use that to detect the byte order.
llvm-svn: 110824
|
2010-08-11 16:27:20 +00:00 |
Howard Hinnant
|
08b0997cc1
|
Modified the definition of std::foward to address National Body Comment US 90
llvm-svn: 110805
|
2010-08-11 14:05:55 +00:00 |
Howard Hinnant
|
2bcfef5e9c
|
Fix conflict with cstring and using namespace std
llvm-svn: 110736
|
2010-08-10 21:57:23 +00:00 |
Howard Hinnant
|
eb2692571f
|
patch by Jesse Towner, and bug fix by Sebastian Redl
llvm-svn: 110724
|
2010-08-10 20:48:29 +00:00 |
Howard Hinnant
|
e7b3e177c4
|
Let C lib supply stdbool.h
llvm-svn: 109894
|
2010-07-30 21:28:27 +00:00 |
Howard Hinnant
|
a8e3da215c
|
Make complex.h play nice with C
llvm-svn: 109791
|
2010-07-29 18:43:15 +00:00 |
Howard Hinnant
|
7189782c6b
|
bug fix concerning search not at beginning of string and word boundaries
llvm-svn: 109750
|
2010-07-29 15:17:28 +00:00 |
Howard Hinnant
|
7949ab0743
|
fix bug incrementing past end in search
llvm-svn: 109716
|
2010-07-29 01:15:27 +00:00 |
Howard Hinnant
|
4ea5240e05
|
fix parse bug in ecma non-greedy loop
llvm-svn: 109711
|
2010-07-29 00:36:00 +00:00 |
Howard Hinnant
|
6e156afa71
|
Fixed some bugs in the ecma bracket epression regarding escaped characters, and got the awk grammar going.
llvm-svn: 109599
|
2010-07-28 17:35:27 +00:00 |
Howard Hinnant
|
c1124300fe
|
lookahead for ecma
llvm-svn: 109548
|
2010-07-27 22:20:32 +00:00 |
Howard Hinnant
|
93da3b2e41
|
grep and egrep grammars
llvm-svn: 109534
|
2010-07-27 19:53:10 +00:00 |
Howard Hinnant
|
6afe8b0a23
|
continued regex development...
llvm-svn: 109512
|
2010-07-27 17:24:17 +00:00 |
Howard Hinnant
|
5c67986156
|
A good start on ecma regex's. Maybe even feature complete, not sure yet. Also an unrelated fix to is_constructible thanks to Daniel Krugler.
llvm-svn: 109479
|
2010-07-27 01:25:38 +00:00 |
Howard Hinnant
|
f7109438ea
|
I believe posix extended expr is feature complete. Getting started on ecma exprs.
llvm-svn: 109126
|
2010-07-22 17:53:24 +00:00 |
Howard Hinnant
|
b762bea3ba
|
A few more tests for posix extended alternation
llvm-svn: 109107
|
2010-07-22 14:12:20 +00:00 |
Howard Hinnant
|
c1198c320f
|
A good start on extended posix regex. Loops working. Alternation working. Also update by-chapter completeness summary.
llvm-svn: 108548
|
2010-07-16 19:08:36 +00:00 |
Howard Hinnant
|
6ded099399
|
Tests for basic posix regex templated on wchar_t
llvm-svn: 108435
|
2010-07-15 18:18:07 +00:00 |
Howard Hinnant
|
5d695f041c
|
Fixed to work with generalized iterators.
llvm-svn: 108359
|
2010-07-14 21:14:52 +00:00 |
Howard Hinnant
|
5699358c63
|
Minor optimizations. Minor bug fixes. More tests.
llvm-svn: 108331
|
2010-07-14 15:45:11 +00:00 |
Howard Hinnant
|
8ab959c961
|
Bracket expressions are working (lightly tested).
llvm-svn: 108280
|
2010-07-13 21:48:06 +00:00 |
Howard Hinnant
|
fdec08bd8b
|
regex_constants icase and collate for matching a single char and for matching back references
llvm-svn: 108178
|
2010-07-12 19:11:27 +00:00 |
Howard Hinnant
|
aea2afe334
|
back references for BRE
llvm-svn: 108168
|
2010-07-12 18:16:05 +00:00 |
Howard Hinnant
|
0cbed7e140
|
Redesign number 3. The previous design was not handling matching of empty strings inside of loops.
llvm-svn: 108151
|
2010-07-12 15:51:17 +00:00 |
Howard Hinnant
|
87ec03a2ea
|
weekly update to by-chapter-summary, plus left and right anchor support in basic posix.
llvm-svn: 107938
|
2010-07-09 00:15:26 +00:00 |
Howard Hinnant
|
8c459a14a9
|
Marked subexpressions in a loop in basic posix working (only lightly tested so far)
llvm-svn: 107889
|
2010-07-08 17:43:58 +00:00 |
Howard Hinnant
|
189b212662
|
First loop test passed. The data structure and search algorithm is still crude and in-flux. But this milestone needed to be locked in. Right now every loop is implemented in terms of a structure that will handle the most complicated {min, max} loop. Though only *-loops are tested at the moment. In a future iteration *-loops will likely be optimized a little more. The only tests are for basic posix so far, but I have prototype code running for extended posix and ecma. The prototype code lacks the complicating properties of the real <regex> requirements though.
llvm-svn: 107803
|
2010-07-07 19:14:52 +00:00 |
Howard Hinnant
|
928658cd70
|
First test for marked subexpressions
llvm-svn: 107317
|
2010-06-30 20:30:19 +00:00 |
Howard Hinnant
|
237ee6fef8
|
First, very primitive, search results on one engine
llvm-svn: 107294
|
2010-06-30 17:22:19 +00:00 |
Howard Hinnant
|
cdefdeee28
|
two steps forward, one step back...
llvm-svn: 107230
|
2010-06-30 00:21:42 +00:00 |
Howard Hinnant
|
e5561b04e4
|
[re.submatch]
llvm-svn: 107187
|
2010-06-29 18:37:43 +00:00 |
Howard Hinnant
|
853aff80dd
|
regex: learning to crawl
llvm-svn: 106882
|
2010-06-25 20:56:08 +00:00 |
Howard Hinnant
|
24e98486a3
|
Continuing to work through regex, and updated libcxx_by_chapter.pdf with weekly test results
llvm-svn: 106790
|
2010-06-24 21:28:00 +00:00 |
Howard Hinnant
|
24757ff75e
|
Finished [re.traits]. I'd like to acknowledge the help of Bjorn Reese with <regex>.
llvm-svn: 106478
|
2010-06-21 21:01:43 +00:00 |
Howard Hinnant
|
70505305c1
|
Just getting our toes wet on <regex>
llvm-svn: 106187
|
2010-06-17 00:34:59 +00:00 |
Howard Hinnant
|
d1803b6c87
|
[util.smartptr.hash]
llvm-svn: 105393
|
2010-06-03 16:42:57 +00:00 |
Howard Hinnant
|
8ae5097f81
|
for Ubuntu
llvm-svn: 105338
|
2010-06-02 18:53:22 +00:00 |
Howard Hinnant
|
2234ef3407
|
I've reverted the changes needed for Ubuntu. The changes for Ubuntu should go under a #if and I'm not sure what that #if should look like.
llvm-svn: 105337
|
2010-06-02 18:41:21 +00:00 |
Howard Hinnant
|
cbbf633edb
|
[string.conversions]
llvm-svn: 105336
|
2010-06-02 18:20:39 +00:00 |
Howard Hinnant
|
6508e9936c
|
[conversions.buffer]
llvm-svn: 105286
|
2010-06-01 20:09:18 +00:00 |
Howard Hinnant
|
5d3c11337a
|
[conversions.string]
llvm-svn: 105254
|
2010-05-31 20:58:54 +00:00 |
Howard Hinnant
|
0c17e32edd
|
[locale.stdcvt]
llvm-svn: 105174
|
2010-05-30 21:39:41 +00:00 |
Howard Hinnant
|
bc3c5dc767
|
Fixed [support.types]. <cstddef> wasn't definining NULL or offsetof.
llvm-svn: 104982
|
2010-05-28 18:04:31 +00:00 |
Howard Hinnant
|
9d4a2861bb
|
[support.initlist.range]
llvm-svn: 104975
|
2010-05-28 17:53:59 +00:00 |
Howard Hinnant
|
03ec83e9e8
|
Implemented some adaptor constructors which I had missed.
llvm-svn: 104946
|
2010-05-28 15:49:54 +00:00 |
Howard Hinnant
|
a391bc1323
|
Corrected rethrow_if_nested
llvm-svn: 104943
|
2010-05-28 13:35:41 +00:00 |
Howard Hinnant
|
c8edcb3651
|
weekly test results plus a bug fix clang found
llvm-svn: 104877
|
2010-05-27 20:06:01 +00:00 |
Howard Hinnant
|
019fe4b8fd
|
[except.nested]
llvm-svn: 104850
|
2010-05-27 17:06:52 +00:00 |
Howard Hinnant
|
40c7ef90b2
|
[numeric.iota]
llvm-svn: 104719
|
2010-05-26 18:53:44 +00:00 |
Howard Hinnant
|
f9d540b062
|
Completed [alg.random.shuffle].
llvm-svn: 104708
|
2010-05-26 17:49:34 +00:00 |
Howard Hinnant
|
b4d2fd2f0f
|
[rand.dist.samp.plinear]. This means we've got a fully tested and functional <random>! 489 tests over 48 sections are passing. :-) The only thing still on my plate in this area is to back-port some of this technology to random_shuffle/shuffle in <algorithm>. That will involve shuffling header bits around (<random> depepends on <algorithm>), but it won't entail that much development (compared to what has been required for <random>).
llvm-svn: 104575
|
2010-05-25 00:27:34 +00:00 |
Howard Hinnant
|
128ba7191d
|
patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
llvm-svn: 104516
|
2010-05-24 17:49:41 +00:00 |
Howard Hinnant
|
5d6a2e509f
|
Optimized [rand.dist.samp.pconst] and several bug fixes in other distributions
llvm-svn: 104478
|
2010-05-24 00:35:40 +00:00 |
Howard Hinnant
|
e302eab415
|
[rand.dist.samp.pconst] plus some bug fixes in the tests of the other distributions
llvm-svn: 104224
|
2010-05-20 15:11:46 +00:00 |
Howard Hinnant
|
fb0e5ec825
|
[rand.dist.samp.discrete]
llvm-svn: 104103
|
2010-05-19 01:53:57 +00:00 |
Howard Hinnant
|
ecbb921cbf
|
[rand.dist.norm.t]
llvm-svn: 104052
|
2010-05-18 20:08:04 +00:00 |
Howard Hinnant
|
e31e36f910
|
[rand.dist.norm.f]
llvm-svn: 104035
|
2010-05-18 17:32:30 +00:00 |
Howard Hinnant
|
6692b261d8
|
[rand.dist.norm.cauchy]. I'm having trouble testing the output as all statistical properties are undefined. They do not converge upon any one value as the number of samples increases. Suggestions for tests welcome.
llvm-svn: 103983
|
2010-05-17 21:55:46 +00:00 |
Howard Hinnant
|
fd5c3a34e3
|
[rand.dist.norm.lognormal]
llvm-svn: 103957
|
2010-05-17 18:31:53 +00:00 |
Howard Hinnant
|
c675d983f6
|
[rand.dist.pois.extreme]
llvm-svn: 103942
|
2010-05-17 16:21:56 +00:00 |
Howard Hinnant
|
05fa30d595
|
[rand.dist.bern.geo]
llvm-svn: 103937
|
2010-05-17 13:44:27 +00:00 |
Howard Hinnant
|
89eaea24bc
|
[rand.dist.bern.negbin]
llvm-svn: 103916
|
2010-05-17 00:09:38 +00:00 |
Howard Hinnant
|
45a999719b
|
Beefed up the tests for all of the distributions to include checks against the expected skewness and kurtosis
llvm-svn: 103910
|
2010-05-16 17:56:20 +00:00 |
Howard Hinnant
|
b8829825f1
|
[rand.dist.pois.weibull]
llvm-svn: 103891
|
2010-05-16 01:09:02 +00:00 |
Howard Hinnant
|
e3900731f6
|
[rand.dist.norm.chisq]
llvm-svn: 103888
|
2010-05-15 23:36:00 +00:00 |
Howard Hinnant
|
932ce81fe9
|
Revisited [rand.dist.bern.bin] and [rand.dist.pois.poisson] with better algorithms
llvm-svn: 103886
|
2010-05-15 21:36:23 +00:00 |
Howard Hinnant
|
0e675818f1
|
[rand.dist.pois.poisson]
llvm-svn: 103814
|
2010-05-14 21:38:54 +00:00 |
Nick Kledzik
|
111e0cbe51
|
add headers and implementation for <new>, <exception>, and <typeinfo>
llvm-svn: 103795
|
2010-05-14 20:19:37 +00:00 |
Howard Hinnant
|
7070922ff8
|
[rand.dist.pois.gamma]
llvm-svn: 103788
|
2010-05-14 18:43:10 +00:00 |
Howard Hinnant
|
f8bfb45e9b
|
partial [rand.dist.pois.gamma]
llvm-svn: 103722
|
2010-05-13 17:58:28 +00:00 |
Howard Hinnant
|
6f97c4e7bc
|
[rand.dist.norm.normal]
llvm-svn: 103646
|
2010-05-12 21:02:31 +00:00 |
Howard Hinnant
|
bcc4ff0db0
|
[rand.dist.pois.exp]
llvm-svn: 103621
|
2010-05-12 17:08:57 +00:00 |
Howard Hinnant
|
deb23ecdf9
|
[rand.dist.bern.bin]. The evaluation function for this binomial distribution is hopefully just a placeholder. It is using the simplest and slowest method for computing the distribution and needs to be upgraded.
llvm-svn: 103524
|
2010-05-11 23:26:59 +00:00 |
Howard Hinnant
|
5b08a8a432
|
Wiped out some non-ascii characters that snuck into the copyright.
llvm-svn: 103516
|
2010-05-11 21:36:01 +00:00 |
Howard Hinnant
|
3e519524c1
|
libcxx initial import
llvm-svn: 103490
|
2010-05-11 19:42:16 +00:00 |