dfd70c6069
replace GThreads by the Lumiera thread wrapper
2010-02-11 03:06:42 +01:00
Christian Thaeter
80e2db4800
hook the resourcecollector into safeclib on backend startup
2010-02-08 17:47:26 +01:00
Christian Thaeter
d103346482
hook mpool into the resourcecollector and using safeclib allocations
2010-02-08 14:28:54 +01:00
Christian Thaeter
9feb01e4fe
add hooks for malloc/free to mpool, add (no-op) purge function
...
We will need this to hook the resourcecollector in
2010-02-07 20:53:51 +01:00
Christian Thaeter
b60d8aa907
FIX: error.c memory leak when destroying threads
...
the error context is dynamically allocated and must be freed, forgotten
this as errors originated from static strings initially.
2010-02-07 20:25:09 +01:00
Christian Thaeter
33a0591689
Make resourcecollector initialization explicit
...
instead automatic initialization, the resourcecollector is pulled up as
backend service.
2010-02-05 09:20:52 +01:00
Christian Thaeter
d350a250fa
Move the resourcecollector to the backend, closes #521
2010-02-05 08:58:19 +01:00
Christian Thaeter
d45b2eef91
factor the filedescriptorregistry out, closes #395
...
also introduces a new mutex for lookup/creating files to prevent races
2010-02-04 22:52:21 +01:00
Christian Thaeter
40d1bb50bb
fix double-free bug in mmap.c
2010-02-04 21:56:49 +01:00
Christian Thaeter
97d5b1c727
remove the 'once' hack from mmap_init()
2010-02-04 20:43:27 +01:00
Christian Thaeter
c1c97228a5
Set error condition when chunksize for a non mmaped file is queried
2010-02-04 20:41:49 +01:00
Christian Thaeter
4821e7eb3f
add file_delete_unlink() which removes a file from disk when closed
...
For temporary file, only removes the name under which it was opened
2010-02-04 20:40:54 +01:00
Christian Thaeter
31a2f454d8
remove lumiera_fhcache as parameter, closes #396
2010-02-04 10:21:20 +01:00
Christian Thaeter
711af29605
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt:
added two sync tests
show the state name string
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
add a threads/threadpool NOBUG flag hierarchy
replace an old test with a compile-only one which spawns way too many threads
increase the delay in threads to 10ms
wrap prime test in usleep() to make the thread likely to be re-scheduled
2010-02-03 10:51:03 +01:00
Christian Thaeter
01839d4e48
update for nobug-201002.1
2010-02-03 10:38:12 +01:00
Michael Ploujnikov
6d053d3f84
show the state name string
2010-02-01 16:51:27 -05:00
Michael Ploujnikov
8588fa2b9c
it is more proper to use cond_sync flags for *CONDITION_SECTIONs
2010-02-01 07:25:49 -05:00
Michael Ploujnikov
b799321dff
add a threads/threadpool NOBUG flag hierarchy
...
and remove redundant/errorneous flag initializations as a result
also use the test flag from logging.h
2010-02-01 07:25:06 -05:00
Christian Thaeter
014c83ff5a
PTHREAD_ONCE_INIT can be a macro, fast init trick doesn't work then
2010-01-30 08:40:38 +01:00
Christian Thaeter
32d9a9f9ad
FIX: thread-wrapper proxy the catched error up to the joiner
2010-01-30 07:20:09 +01:00
Christian Thaeter
87465ff69b
little test-helper cosmetics
2010-01-30 07:20:09 +01:00
Christian Thaeter
dc5ae73626
Log the error passing when joining threads
2010-01-30 07:20:09 +01:00
Christian Thaeter
812f7112af
FIX: small race in acquire_thread, catching threads out of the void
2010-01-30 02:56:50 +01:00
Christian Thaeter
f57d637b59
Merge commit 'dc87e78590ea86615d3ebe90d23af4548445b941' into backend_devel
...
* commit 'dc87e78590ea86615d3ebe90d23af4548445b941':
add a two-thread acquire test
show the state of the thread in question
minor fixes: remove an old comment and change another
fix the prime test algorithm
use unsigned long for even more digits!
2010-01-30 00:48:04 +01:00
ede06e63d5
automatically start the threadpool on demand, similar to NoBug
...
but the difference is: threadpool comes up application init i.e. at the begin of main(),
while NoBug comes up in static init already.
2010-01-24 15:48:48 +01:00
93af4ed017
refactor the C++ thread-wrapper, remove JoinHandle
2010-01-24 14:05:32 +01:00
82967191b3
PlacementIndexQueryResolver passes unit test
2010-01-23 15:50:46 +01:00
a9a6bb3951
better store the scope-ID within a query
2010-01-23 15:50:46 +01:00
018801895b
Add some test-dummy MObjects *temporarily* to core tree (Ticket #532 )
2010-01-23 15:50:46 +01:00
f6cf3195cf
* MObjectRef_test pass *
...
This is the integration of some months of work
2010-01-23 15:50:46 +01:00
0f9fc7e3dd
PlacementRef works! that's a milestone. Closes #78
2010-01-23 15:50:46 +01:00
9a6f9b2ba5
PlacementIndex: possibly retaining type information on insert
2010-01-23 15:50:46 +01:00
26972376de
MobjectRef_test passes compiler as a whole
2010-01-23 15:50:45 +01:00
71428ccf6f
activating an MObject ref implemented, passes compiler
2010-01-23 15:50:45 +01:00
e9d641babd
nail down all the MObjectRef equality comparison cases
2010-01-23 15:50:45 +01:00
e04672936a
getting MObjectRef_test partially through the compiler
2010-01-23 15:50:45 +01:00
b32a48f410
Finish definition/documentation of PlacementRef and PlacementIndex
2010-01-23 15:50:45 +01:00
Christian Thaeter
8607a4006a
update the thread-wrapper to use the new threading API
...
This removes the explicit Sync things from the thread wraper since
the functionality is almost exactly provided by the backend.
Thread encapsulates a lumiera thread handle now, but this is strictly
optional and might be dropped on the floor (using a temporary as thread).
Thread has a sync() function which allows user controlled syncronous
startup:
Thread("foo", myoperation).sync();
will startup myoperation and only return from the ctor after myoperation
called a matching lumiera_thread_sync().
The related tests need to initialize/destroy the threadpool accordingly
2010-01-23 06:57:14 +01:00
Christian Thaeter
9fc68c9d32
Merge remote branch 'public/nobug201001.2' into backend_devel
...
* public/nobug201001.2:
integrating nobug context passing
updates for nobug 201001.2
Conflicts:
configure.ac
src/lib/condition.h
src/lib/reccondition.h
tests/backend/test-threads.c
2010-01-23 06:56:39 +01:00
Christian Thaeter
c15f2247d7
integrating nobug context passing
...
Somewhat more intrusive than the previous patch,
adds contexts everywhere except for sync.hpp where only default ctors
are used.
2010-01-23 01:40:27 +01:00
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
Michael Ploujnikov
fc15a2ac2c
Merge commit '6f07e4eedc6b624b1f9ae1004ad3e6a77027e028' into second-tp-attempt
...
Conflicts:
src/backend/threads.c
2010-01-20 21:41:14 -05:00
Michael Ploujnikov
a22bb5e54f
show the state of the thread in question
2010-01-20 17:09:37 -05:00
Michael Ploujnikov
571c265ccd
minor fixes: remove an old comment and change another
2010-01-20 07:58:22 -05:00
Christian Thaeter
751a8b415c
few trace points
2010-01-20 01:04:35 +01:00
Christian Thaeter
6f07e4eedc
one more signal/wait for syncing
2010-01-20 01:04:12 +01:00
Christian Thaeter
95fed7fd0e
remove thread counters (for now)
...
counting the threads had a race when creating threads, with moving
threads only between idle and working list we don't need the counters for
operation anyways. Maybe later when we find out that we need them we can
re-add them in a sane way
2010-01-20 01:03:41 +01:00
Christian Thaeter
12968bb784
thread kind and flag handling
...
* 256 states are enough for anyone (else fix the source)
* add proper masking and handling of flags
2010-01-20 00:43:11 +01:00
Christian Thaeter
32217debe8
Fix threadloop
...
* joining must be done inside the loop, doh
* a thread must release itself first in the loop, new threads
have to go idle when created
2010-01-20 00:33:08 +01:00
Christian Thaeter
995d813709
add threadpool init/destroy to the global backend init/destroy
2010-01-19 18:46:02 +01:00
Christian Thaeter
66a0e6e0ca
Experiment: remove custom states, syncs are 2-thread barriers
2010-01-18 19:58:31 +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
020908d623
Make threadpool_destroy wait until all threads are finished
...
adds a state to each threadpool which can be only offline or online.
One can not acquire new threads when the pool is offline.
no need for waits in the teststuite anymore.
2010-01-18 17:53:33 +01:00
Christian Thaeter
7371db8a2c
thread deadlines, first implementation
2010-01-18 16:24:45 +01:00
Christian Thaeter
cc4dc25f4a
while loop is little more solid than do..while
2010-01-18 16:23:28 +01:00
Christian Thaeter
87918c657c
check wait condition before loop body
2010-01-18 14:23:23 +01:00
Christian Thaeter
e55e648f29
Thread syncronization and joining
...
add a custom defined range for states
provide functions for barrier like syncing between 2 threads
provide joinable threads and a thread_join() function
2010-01-18 00:34:53 +01:00
Christian Thaeter
72d9cbe91c
Merge remote branch 'plouj/second-tp-attempt' into backend_devel
...
* plouj/second-tp-attempt: (68 commits)
partially fix a pkg-config problem with scons on Fedora12
fix comilation by using an existing TEST macro
more formatting fixes to put spaces before function/macro call opening brackets
add a stronger REQUIRE check
ignore RESOURCE_ANNOUNCE in tests
fix the code by re-merging some of cehteh's changes
remove redundant info from TRACE
match the filename in the header comment
add a thread state check and remove an old comment
python-2.6 fix: loading the icon_rener.py script (Ticket #222 )
Use a fully qualified name for PlacementMO in PlacementIndex
fix compilation errors
die regardless of what type of failure pthread_create() encounters
mark thread as worker
remote unnecessary calls to llist_unlink() insert is enough
continuation of working_list introduction
begin adding a second list to store working threads
merge ECHO with TRACE
don't expect any more output from the basic test
fix compilation
...
Conflicts:
src/tool/Makefile.am
tests/Makefile.am
2010-01-17 17:32:43 +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
Michael Ploujnikov
c78571be55
more formatting fixes to put spaces before function/macro call opening brackets
2010-01-16 13:53:42 -05:00
Michael Ploujnikov
fa85a01818
add a stronger REQUIRE check
2010-01-16 13:13:02 -05:00
Michael Ploujnikov
02c9ee33c7
fix the code by re-merging some of cehteh's changes
...
test still fails
2010-01-16 11:48:48 -05:00
Michael Ploujnikov
217d17107d
Use a fully qualified name for PlacementMO in PlacementIndex
...
This seems to satisfy g++ 4.4.2, which otherwise complains like this:
In file included from ../src/proc/mobject/session/session-impl.hpp:53,
from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-16 17:04:13 +01:00
Michael Ploujnikov
e60c10a01d
remove redundant info from TRACE
...
and add spaces for formatting
2010-01-16 10:39:45 -05:00
Michael Ploujnikov
e9ae8c8601
add a thread state check and remove an old comment
2010-01-15 07:35:28 -05:00
Michael Ploujnikov
e0d6f1ce66
Merge branch 'master' into second-tp-attempt
...
Conflicts:
src/proc/mobject/session/placement-index.cpp
src/proc/mobject/session/placement-index.hpp
2010-01-14 21:06:14 -05:00
Michael Ploujnikov
2f27c7d71b
Use a fully qualified name for PlacementMO in PlacementIndex
...
This seems to satisfy g++ 4.4.2, which otherwise complains like this:
In file included from ../src/proc/mobject/session/session-impl.hpp:53,
from ../src/proc/mobject/session/sess-manager-impl.hpp:28,
from ../src/proc/mobject/session/sess-manager-impl.cpp:41:
../src/proc/mobject/session/placement-index.hpp:163: error:
declaration of ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::session::PlacementIndex::PlacementMO’
../src/proc/mobject/placement.hpp:244: error: changes meaning of
‘PlacementMO’ from ‘typedef class mobject::Placement<mobject::MObject,
mobject::MObject> mobject::PlacementMO’
2010-01-14 20:57:45 -05:00
Michael Ploujnikov
9d4494aa90
Merge branch 'master' into second-tp-attempt
2010-01-14 19:32:07 -05:00
Michael Ploujnikov
151b0793ab
Merge remote branch 'origin/master'
2010-01-14 19:31:42 -05:00
Michael Ploujnikov
f62513dea8
fix compilation errors
2010-01-14 16:46:27 -05: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
Michael Ploujnikov
523e898fbe
Merge branch 'master' into second-tp-attempt
...
Conflicts:
src/lib/condition.h
src/lib/reccondition.h
2010-01-13 19:17:24 -05:00
Michael Ploujnikov
a045479c63
Merge branch 'master' of git://git.lumiera.org/LUMIERA
2010-01-13 19:12:15 -05: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
63346c7dff
Fix remaining test, forgot to link tests in
2010-01-13 10:25:33 +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
Michael Ploujnikov
564e6c94a0
Merge remote branch 'origin/master'
...
Conflicts:
tests/test.sh
2010-01-12 08:05:12 -05:00
Michael Ploujnikov
09fd15d5f8
die regardless of what type of failure pthread_create() encounters
2010-01-12 08:01:54 -05:00
Michael Ploujnikov
b49a5abff2
mark thread as worker
2010-01-12 07:47:28 -05:00
Michael Ploujnikov
ecbcfdefd7
remote unnecessary calls to llist_unlink() insert is enough
2010-01-12 07:39:12 -05:00
Michael Ploujnikov
49da609e80
Merge branch 'master' of git://git.lumiera.org/LUMIERA into second-tp-attempt
...
Conflicts:
src/lib/condition.h
src/lib/mutex.h
src/lib/reccondition.h
src/lib/rwlock.h
tests/test.sh
2010-01-11 16:47:45 -05:00
Michael Ploujnikov
f890b35a03
continuation of working_list introduction
2010-01-11 15:04:52 -05: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
Michael Ploujnikov
925442b3d9
begin adding a second list to store working threads
2010-01-09 21:36:20 -05:00
81c920c0ed
Fix: static initialisation problem (due to placeholder code) #518
2010-01-10 00:04:58 +01:00
Christian Thaeter
4e7d656b71
WIP: autotools fixup for ichthyo
2010-01-09 22:17:34 +01:00
14c7f7fc62
PlacementIndex implemented, unit test pass
2010-01-09 05:10:32 +01:00
96f19c656d
add call for placement equivalence check
...
actual functionality to be added later
2010-01-09 04:46:17 +01:00
Michael Ploujnikov
fd4504c9de
merge ECHO with TRACE
2010-01-08 16:38:35 -05:00
36cd34e9b1
Placement: correct handling of ID generation on copy construction
2010-01-08 04:00:14 +01:00
92ad5d1994
change to lib::BoolCheckable for the self-valididty check
2010-01-08 03:59:30 +01:00
836f533a2f
add equality comparison and identity handling
2010-01-08 03:59:01 +01:00
8c7894943c
add equality comparison to the HashIndexed (mixin base)
2010-01-08 03:56:21 +01:00
Michael Ploujnikov
56cf53adb3
fix compilation
2010-01-07 18:36:51 -05:00
Michael Ploujnikov
4708326b77
Merge branch 'minor-fixes' into second-tp-attempt
...
Conflicts:
src/backend/threadpool.c
src/backend/threads.c
2010-01-07 18:27:09 -05:00
Michael Ploujnikov
30a46a6255
Merge remote branch 'public/minor-fixes' into minor-fixes
...
Conflicts:
src/backend/threadpool.c
src/backend/threadpool.h
src/backend/threads.c
2010-01-07 18:24:25 -05:00
Michael Ploujnikov
d78a826d39
Merge branch 'minor-fixes' into second-tp-attempt
2010-01-07 07:18:59 -05:00
Michael Ploujnikov
d989babc8a
Merge remote branch 'ct/for_plouj2' into second-tp-attempt
...
Conflicts:
src/backend/thread-wrapper.hpp
src/backend/threadpool.c
src/backend/threadpool.h
src/backend/threads.c
2010-01-07 07:18:23 -05:00
a56e107fe0
PlacementIndex self-verification implemented and passes compiler
2010-01-07 08:29:27 +01:00
2fd7a2f6f9
patch temporary re-entrance problems on session creation (maybe #495 )
2010-01-07 08:28:54 +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
Michael Ploujnikov
0b961b9784
Merge remote branch 'ct/for_plouj' into second-tp-attempt
2010-01-06 17:30:16 -05:00
Michael Ploujnikov
d8234db7b3
Merge remote branch 'ct/for_plouj2' into second-tp-attempt
2010-01-06 07:48:36 -05:00
Michael Ploujnikov
c707f94929
update c++ wrapper to match the C API
2010-01-06 07:42:42 -05:00
226ed37e30
now able to compile PlacementIndex self-check code!
2010-01-06 07:49:25 +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
73613c1e7d
WIP: draft better arrangement of the PlacementIndex validation code
...
but still need yet another iterator related lib module
2010-01-05 01:31:22 +01:00
Michael Ploujnikov
223e79cc4a
replace mutex with condition variable in threadpool
...
use TRACE instead of ECHO
(based on cehteh's suggested code)
2010-01-04 17:03:47 -05: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
f517cfb19a
Yess we can! Invented a statical duck-detector!
2010-01-02 06:26:56 +01:00
Michael Ploujnikov
7a507a0cee
don't put threads in a detached state
2009-12-31 15:09:22 -05:00
Michael Ploujnikov
03fe6dd658
properly initialize and de-initialize the thread condition variable
2009-12-31 07:37:28 -05:00
Michael Ploujnikov
c4e1fdaf9a
document lumiera_thread_destroy() and lumiera_thread_delete()
2009-12-31 07:32:55 -05:00
Michael Ploujnikov
ad404bd41a
remove unused old code
2009-12-31 07:30:46 -05:00
Michael Ploujnikov
d63a6066a0
insert a space between the function name and the ( in each function call
2009-12-31 07:27:45 -05:00
Michael Ploujnikov
9c60d88c56
remove thread limiting logic from the threadpool
2009-12-31 07:24:07 -05:00
Michael Ploujnikov
69277b6770
remove unused function pool_thread_loop()
2009-12-31 07:18:29 -05:00
e94927d5a3
standard case (using STL container) solved, incl. binding arguments and member functions
2009-12-31 03:25:25 +01:00
e7fcfaca8d
problem was: compiler couldn't figure out the return type
...
thus let's give a hint...
2009-12-31 02:51:58 +01:00
9730ff4183
trying to track down a strange compiler warning
2009-12-31 01:21:45 +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
0dca7cbb4d
not-yet-implemented....
2009-12-29 04:30:11 +01:00
6e956f24ab
WIP: drafted PlacementIndex validity self-check
2009-12-28 03:32:42 +01:00
c49d8321f6
fill in documentation and missing test cases
2009-12-27 06:36:52 +01:00