Commit graph

593 commits

Author SHA1 Message Date
Christian Thaeter
8254b3fbda updates for nobug 201001.2
dumping got a new api, surprisingly everything else works...
2010-01-22 23:21:48 +01:00
Christian Thaeter
e2c5aceec4 FIX: off by one error in time normalization
"The value of the nanoseconds field must be in the range 0 to 999999999."
2010-01-18 18:45:02 +01:00
Christian Thaeter
87918c657c check wait condition before loop body 2010-01-18 14:23:23 +01:00
Christian Thaeter
b8336879f7 autoconf/automake cleanup
* refactor configure.ac to have distinct sections to configure each
   subsystem.
 * Dedicated LUMIERA_<subsys>_CFLAGS|_LIBS vars
 * Fix Makefile.am's to use them, remove unnecessary dependencies

Stray dependencies to be refacored:
 * tests/Makefile.am has dependencies on proc and backend
  - should be moved to tests/library/Makefile.am etc anyways
 * tests/lib/Makefile.am has dependency on GUI left


 * src/tool/Makefile.am links GUI stuff generally, thats ok

 * one threading test is broken, we don't care, merging new threadpool in
   next.
2010-01-17 15:48:30 +01:00
Christian Thaeter
aea546554b reworked sync.hpp using libraries locking functions 2010-01-14 21:15:13 +01:00
Christian Thaeter
dbb3b2e2e7 FIX: uhm .. forgotten to fix some stuff 2010-01-14 13:22:19 +01:00
Christian Thaeter
3e8d8590e9 C lumiera_error to C++ exception bridge
* error::Runtime exception class which transports the C error code
 * lumiera::throwOnError() which throws when there is a pending
   lumiera error, otherwise it does nothing
2010-01-13 20:30:10 +01:00
Christian Thaeter
c29ea07138 lumiera_error_expect() lets one easily handle expected errors
This is a convenience function which clears the error state when some
expected error occurred and lets one branch on this.
2010-01-13 17:41:26 +01:00
Christian Thaeter
f0483b1d8b FIX: few glitches using nobug flags 2010-01-13 14:22:08 +01:00
Christian Thaeter
a287b13481 remove the LUMIERA_RESTRICT macro
all functions using restrict are inline and can be properly optimized by
the compiler, no restrcit necessary
2010-01-13 13:00:13 +01:00
Christian Thaeter
f78ec3b0ef undo -Werror which slipped into the CXXFLAGS for the lib 2010-01-13 09:23:19 +01:00
Christian Thaeter
9c9161ef65 reccondition refactoring 2010-01-13 00:19:20 +01:00
Christian Thaeter
f1cf5aee60 condition var refactoring 2010-01-13 00:19:00 +01:00
Christian Thaeter
6816766182 rwlock refactoring 2010-01-13 00:18:48 +01:00
Christian Thaeter
059f086b4f recmutex refactoring 2010-01-13 00:18:32 +01:00
Christian Thaeter
e7e9394f9b refactor locking macros to functions, simpler macros 2010-01-13 00:16:43 +01:00
Christian Thaeter
b232a4f9f0 errors for locking
* add a 'unknown' error to the error system as fallback
 * lockerror.c|h define all errors which can happen due locking
 * lumiera_lockerror_set() translates posix errors to lumiera errors
 * remove stale errors from sectionlock.h
2010-01-13 00:10:33 +01:00
Christian Thaeter
7b014012e8 WIP: refactor locks once again, new nobug, little simpler 2010-01-10 10:36:24 +01:00
Christian Thaeter
7fea4f79be Sectionlock needs a 'user' handle with new nobug 2010-01-10 10:36:24 +01:00
Christian Thaeter
799fe34980 Fix: race conditions with the nobug resource tracker
* requires new nobug version
* 40components.test "Type-based contexts" TypedCounter_test hangs
  for unknown reason, temporary disabled
2010-01-10 10:36:24 +01:00
8c7894943c add equality comparison to the HashIndexed (mixin base) 2010-01-08 03:56:21 +01:00
5cc3af3009 document the changed/new behaviour by unit test 2010-01-07 04:40:10 +01:00
3525b77126 somewhat tricky modification of for-each, allowing inline calls 2010-01-07 03:10:02 +01:00
665bd19f8a use this to get the distinct keys of a multimap 2010-01-06 06:53:29 +01:00
ff2113e61f implement an duplicate-value filtering iterator 2010-01-06 06:19:30 +01:00
0081b36793 Itertools: add caching to FilterIter
filter predicate is now evaluated at most once
2010-01-06 06:16:30 +01:00
2ad85dbb07 bugfix and test coverage 2010-01-06 04:14:16 +01:00
2a5b080dd7 implement IterSource adapter for STL map and hashmap 2010-01-06 03:38:02 +01:00
030a7d3813 basic IterSource implementation passes unit test (#490) 2010-01-05 05:21:13 +01:00
16962ae714 IterSource implementation draft 2010-01-05 04:10:23 +01:00
ea5668c5e3 WIP define expected usage of IterSouce 2010-01-05 02:53:20 +01:00
330eb2c243 extended for-each looping helpers. Closes #479 2010-01-04 14:48:00 +01:00
cd3a77649e use the (new) iterable classification to mask for_each overloads 2010-01-04 11:19:01 +01:00
7d913dc558 start moving some metaprogramming helpers to lib::meta 2010-01-04 10:08:14 +01:00
64cedb6345 implemented compile-time detection of STL or Lumiera iterator
closes #482
2010-01-03 05:43:33 +01:00
e838d46336 Fix: operator++ needs to return the actual target type
see Ticket #486
2010-01-03 05:42:35 +01:00
e27d03c501 simple duck detecor components pass unit test 2010-01-02 09:07:10 +01:00
8777aa585a duck detector (lib helpers): initial implementation draft 2010-01-02 08:09:40 +01:00
e94927d5a3 standard case (using STL container) solved, incl. binding arguments and member functions 2009-12-31 03:25:25 +01:00
2b46574da3 move the for_each helpers into a separate header
(because util.hpp is used pervasively, and I don't want
<tr1/functional> in such a widely used header...
2009-12-29 04:39:27 +01:00
7b7e9096a3 Hook up scope contents iterator in PlacementIndex (closes #343) 2009-12-27 06:25:34 +01:00
26c506c0d6 rewrite TransformIter, allowing to return references (closes #475) 2009-12-27 04:03:00 +01:00
534ae16605 implemented this FunctionResult template, needed for Ticket #175 2009-12-23 04:46:09 +01:00
97faf3dcb8 ItemWrapper unit test pass. Closes #476 2009-12-21 07:52:58 +01:00
e5ab9d73eb add specialisation to deal with wrapping a reference... 2009-12-21 06:19:56 +01:00
6a7f325ecf static assert to protect against misguided equality comparison 2009-12-21 05:45:02 +01:00
3db676fa32 base implementation fo the ItemWrapper 2009-12-21 05:44:29 +01:00
83eb6976cd draft an universal val/ref wrapper, needed by TransformIter.
Seemingly I've hit a nasty problem here, because PlacementIndex
should return an Placement&, but this is being fetched
after-the fact from within the iterator.
2009-12-20 04:33:24 +01:00
4773305853 Fix itertools: allow TransformIter to return an reference 2009-12-19 03:55:02 +01:00
b74a505c44 change implementation of "bottom" PlacementRef to 0-LUID 2009-12-13 05:48:05 +01:00
451253ae8a utility to append elements from an Lumiera Forward Iterator until exhaustion 2009-11-22 01:14:27 +01:00
b7987cf3ce define iteration on ScopePath as reverse iteration on the contained Scopes 2009-11-21 04:48:29 +01:00
09c0cacee2 add comparison to c-string for Literal 2009-11-15 16:27:56 +01:00
981ea94708 finished the PlacementIndex API. 2009-11-13 04:52:48 +01:00
d0c905b5c9 add an transforming iterator to the itertools 2009-11-13 03:26:20 +01:00
a86517bd4f extend the protocol of the itertools core, abstracting the increment 2009-11-13 01:02:31 +01:00
043d4f42fa working example implementation of the access mechanism to session internal APIs 2009-11-09 02:08:37 +01:00
6dbbc54247 document better how SingletonRef works 2009-11-07 17:37:37 +01:00
8c7727704c Finish ContentQuery definition; relying on PlacementIndex 2009-11-02 07:37:15 +01:00
1c72cbb599 Iterator tools: (1) a filtering iterator 2009-11-02 06:06:43 +01:00
2620c38ed9 documentation, close some tickets... 2009-11-01 02:02:21 +01:00
f35b422316 SubID: add (preliminary) hash impl; unit test pass 2009-10-30 06:50:26 +01:00
df562a186f oops... fix a bug in Literal's hash function 2009-10-30 05:15:26 +01:00
006392f6ea yet another random test helper 2009-10-30 03:53:51 +01:00
ceb4d4b5ea reworked MultiFact passes unit test. Closes Ticket #376 2009-10-30 00:32:26 +01:00
1dccd37c70 re-order MultiFact implementation to get it to compile 2009-10-29 22:00:17 +01:00
54aa7b4afe WIP fixes and stubbing to get at compiling the MultiFact 2009-10-29 04:32:00 +01:00
3145064a21 change IterAdapter iteration control API to use free functions 2009-10-29 04:31:16 +01:00
0cef067c11 WIP adapt unit test and the argument-accepting MultiFact specialisation 2009-10-28 04:45:17 +01:00
2530e8c1a1 WIP try to create an extension point to MultiFact, allowing to accept argument(s)
sketch of an idea how to add an extension possibility
without messing up the basic MultiFact template
2009-10-27 05:13:38 +01:00
5d9671cb2c WIP place a ref-count into the result iterator 2009-10-25 16:18:53 +01:00
c3441ac26a WIP Query<TY> implementation draft... 2009-10-24 00:23:22 +02:00
2e62a3b01b WIP continue design how to discover session contents 2009-10-17 21:31:03 +02:00
b03577ea3f document the stipulations lib::IterAdapter puts on his parameter types 2009-10-17 15:40:37 +02:00
7812792f75 unit test showing current malfunction of UNDO state due to cloning 2009-10-11 05:57:45 +02:00
c8e049cdea Command system basic unit test pass 2009-10-11 05:57:44 +02:00
07de2a767b implement equality comparison on CommandImpl level 2009-10-11 05:57:44 +02:00
fea85acd0e equality comparisons on function erasure objects covered
...well, as good as possible, as boost refuses to implement this feature
2009-10-11 05:57:43 +02:00
231278bafe implemented comparison on function erasure, pending test 2009-10-11 05:57:43 +02:00
5068016805 WIP draft how the equality comparison on a function erasure could work 2009-10-11 05:57:43 +02:00
abd23ae399 TypedAllocationManager (frontend) now in lib:: -- unit test pass 2009-10-11 05:57:43 +02:00
7bac890790 Test suite runner: pass exit code = 5 when having caught an exception 2009-10-11 05:57:42 +02:00
3835399c5f Testsuite: catch exceptions at the level of invoking individual tests 2009-10-11 05:57:42 +02:00
c3d767b444 try out a recursive approach for the extensible ID
more of a general feasability study... to be continued later
2009-10-11 05:57:42 +02:00
455ee34344 start brainstorming on #279 (extensible ID) 2009-10-11 05:57:42 +02:00
7e4a984ed4 Finish MultiFact for now; use it to set up a table of HandlingPatterns 2009-10-11 05:57:41 +02:00
b7204e05ed removed all the magic and made it simply instance based 2009-10-11 05:57:41 +02:00
bc6f8eebda basically working draft; convoluted and with a lot of static magic 2009-10-11 05:57:41 +02:00
5910f21383 first draft impl regarding automatic installation of a singleton facotry into MultiFact 2009-10-11 05:57:41 +02:00
8ee76b1bfd configurable factory? test-driven brainstorming 2009-10-11 05:57:41 +02:00
8c21f21acc namespace cleanup: bring Singleton and Factory into lib:: 2009-10-11 05:57:41 +02:00
777e80dd64 use BoolCheckable instead of explicit operator bool() 2009-10-11 05:57:40 +02:00
f6397ef11c implemented TypedCounter and TypedContext.
Test basically pass, but shows an interesting
deadlock from time to time
2009-10-11 05:57:39 +02:00
373f9a5724 fix Ticket #272 (synchronisation from const methods) 2009-10-11 05:57:39 +02:00
517fb8b200 multithreaded torture test for the (planned) TypedCounter 2009-10-11 05:57:39 +02:00
83cd7fd830 Extract the type-based counting into a separate facility 2009-10-11 05:57:39 +02:00
6a77bebb6a fix type for search in map 2009-10-11 05:57:39 +02:00
7fccecacce WIP using the reverse index to find out the Command-ID
this includes using a Command* as key within a std::map
2009-10-11 05:57:39 +02:00
109cc4701c unit test to verify building a hashtable with Symbol keys 2009-10-11 05:57:38 +02:00
18c357eb4a start using Symbol datatype instead of a disguised char* 2009-10-11 05:57:38 +02:00