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
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
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
4afa1ada5b
WIP implement scope content enumeration
...
unresolved problem with TransformIter yielding a reference
2009-12-18 05:05:16 +01:00
9f09a8aa49
push creation of the root MObject to users of PlacementIndex
2009-12-17 03:16:08 +01:00
d7aab2990f
placeholder implementation of Label MObject
2009-12-17 03:14:59 +01:00
e3de0aac7c
WIP handling of the model root element within the index
2009-12-16 04:54:36 +01:00
73fcc78cb3
PlacementIndex checks for bottom (invalid) ID
2009-12-13 05:49:08 +01:00
b74a505c44
change implementation of "bottom" PlacementRef to 0-LUID
2009-12-13 05:48:05 +01:00
e89b4503fd
detect if the session is up and opened, lock PlacementRef else
2009-12-13 04:27:57 +01:00
6c187224eb
get it through the compiler again...
2009-12-12 05:03:50 +01:00
5fd2a85400
cleanup of BuilderTool includes
2009-12-12 03:51:26 +01:00
628ad8a31d
WIP add a new kind of MObject: the model root
2009-12-12 03:50:41 +01:00
fd782eb139
WIP: change management of test/mock PlacementIndex
...
now lifecycle of this mock index is managed automatically
from within the session services. This allows to get
rid of the smart-ptr creating factory. As a consequence,
PlacementIndex now resides directly within SessionImpl.
2009-12-11 02:49:12 +01:00
488039c4c6
cleanup and write tests covering the newly implemented stuff
2009-11-28 23:37:58 +01:00
feb4480f85
Scope handling within the PlacementIndex
2009-11-28 22:18:09 +01:00
8a47f1a1ac
considerations regarding type handling in the PlacementIndex
2009-11-27 20:30:06 +01:00
66175181dc
basically implemented simple element access.
...
But the scope registration and the type problem remains unsolved
2009-11-27 02:43:09 +01:00
cde45c021e
add basic storage and implementation of the PlacementIndex tables
2009-11-27 02:03:20 +01:00
0b289863e9
documentation correction. command entry is created on completed definition now.
2009-11-27 02:02:42 +01:00
0186343909
finished implementation of QueryFocus (frontend handle)
2009-11-22 11:13:49 +01:00
4082ff919e
implemented connection between QueryFocus und current ScopePath
2009-11-22 10:32:08 +01:00
12dc0e2c2d
add unit test, write documentation. Closes #420
2009-11-22 07:26:51 +01:00
d90812e64b
implement a stack of ScopePath frames
2009-11-22 04:36:14 +01:00
665eed5f1b
new logging flag for the session
2009-11-22 04:35:37 +01:00
46eae1c03a
add a refcount field (for intrusive refcounting) to ScopePath
2009-11-22 03:48:52 +01:00
36e342fc11
Implement ScopePath functionality. Closes #322
2009-11-22 01:16:33 +01:00
27390b5732
add query for path/location to ScopeLocator
2009-11-22 01:15:31 +01:00
451253ae8a
utility to append elements from an Lumiera Forward Iterator until exhaustion
2009-11-22 01:14:27 +01:00
c328945cb4
commented the ScopePath API
2009-11-21 21:33:01 +01:00
ed86c97881
Defined/Stubbed all required ScopePath operations
2009-11-21 20:55:14 +01:00
b7987cf3ce
define iteration on ScopePath as reverse iteration on the contained Scopes
2009-11-21 04:48:29 +01:00
b2849c6099
defined and implemented equality of scopes
2009-11-21 02:49:24 +01:00
ce98bd9bca
Finished basic concept how to establish a current query focus (Ticket #403 )
2009-11-20 22:00:15 +01:00
cdb84a9b16
refining the draft for ScopeLocator
2009-11-20 19:58:22 +01:00
11463da463
better use an enum for the ScopeQuery kinds
2009-11-18 04:53:49 +01:00
c01f774344
expose the new query-for-contents facility as session service
2009-11-18 04:23:46 +01:00
9514970b6c
refactor most of the session-contents-query impl into a dedicated *.cpp
2009-11-18 04:11:27 +01:00
002a0a97e6
add remaining bits to get query-for-session-contents impl to compile
2009-11-17 03:01:18 +01:00
7d6fa03c51
allow for Goal subclasses to provide copy operations, while prohibiting direct copy
2009-11-15 16:28:42 +01:00
09c0cacee2
add comparison to c-string for Literal
2009-11-15 16:27:56 +01:00
34dc8fa4de
mark for later high-level model extension (Ticket #414 )
2009-11-15 01:09:21 +01:00
7dcb59333d
WIP draft of the complete query-for-session-contents implementation
2009-11-15 01:08:29 +01:00
a10a237b90
rename "MO" --> "MX" to avoid confusion with MObject
2009-11-14 23:07:01 +01:00
017c668d7a
WIP outline of the index query resolution
2009-11-13 16:32:22 +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
a1448ed6f6
WIP first attempt to remove the query-interface from PlacementIndex
2009-11-12 20:15:52 +01:00
d658415144
WIP about providing scope contents discovery, backed by the index
2009-11-12 02:15:02 +01:00
bfd97bd98e
now SessManagerImpl can go down entirely on implementation level
2009-11-11 06:01:25 +01:00
5535a7a00e
phase out the existing access functions, now superseeded by SessionServices
2009-11-11 05:44:58 +01:00
1a76ce7a5f
implement two of the SessionServices (internal APIs)
...
providing implementation-level access to the PlacementIndex
and especially installing a mock index for unit tests
2009-11-11 05:30:24 +01:00
7da8844581
first steps towards using the new SessionServices access mechanism
...
add the necessary hooks and change the SessionImpl accordingly.
Still using the old access method for any real code
2009-11-09 07:35:08 +01:00
79d5e49a74
defined basic session lifecycle and service access. Closes Ticket #400
2009-11-09 05:21:59 +01:00
043d4f42fa
working example implementation of the access mechanism to session internal APIs
2009-11-09 02:08:37 +01:00
2765981db9
build a complete simplified mock Session/SessionManager
2009-11-08 20:13:11 +01:00
f1ce05ea9d
clean up some overly clever definitions
2009-11-08 19:47:51 +01:00
aaf19f4d89
First draft regarding the access of session implementation services (Ticket #400 )
2009-11-07 19:49:29 +01:00
6dbbc54247
document better how SingletonRef works
2009-11-07 17:37:37 +01:00
78f9b2b1c5
WIP refactor ContentsQuery to share implementation with a PathQuery facility
2009-11-07 02:49:55 +01:00
bdb8bc2c98
move PlacementIndex into namespace session
2009-11-06 19:27:53 +01:00
bb8c018214
integrate QueryFocus with the new ContentsQuery facility
2009-11-06 18:42:15 +01:00
e0e9b7c2c0
WIP about how to link the QueryFocus system to the session/PlacementIndex
2009-11-04 04:56:25 +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
356fe8fd13
change the ContensQuery stub to fit into the QueryResolver in its current form
...
Actually, the implementation within PlacementIndex is missing.
Moreover, I think now that PlacementIndex shouldn't implement
QueryResolver directly.
2009-11-01 03:47:35 +01:00
2620c38ed9
documentation, close some tickets...
2009-11-01 02:02:21 +01:00
9ff7b1eaeb
Implement registration of a resolution function. QueryResolver_test pass
2009-10-30 20:33:44 +01:00
f70f8c4e4a
implemented the mechanism for dispatch-to-concrete resolution
2009-10-30 18:37:08 +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
d2721378d5
get QueryResolver to compile
2009-10-29 21:59:02 +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