From 2620c38ed9f5648e1d989b70b531fd2016f93a36 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Sun, 1 Nov 2009 02:02:21 +0100 Subject: [PATCH] documentation, close some tickets... --- src/lib/iter-adapter.hpp | 1 + src/proc/assetmanager.hpp | 4 +-- tests/43session.tests | 28 +++++++++---------- .../mobject/session/defsregistryimpltest.cpp | 2 +- tests/lib/iter-adapter-test.cpp | 5 +--- wiki/renderengine.html | 6 ++-- 6 files changed, 22 insertions(+), 24 deletions(-) diff --git a/src/lib/iter-adapter.hpp b/src/lib/iter-adapter.hpp index e5ad6d15c..5dc9bab54 100644 --- a/src/lib/iter-adapter.hpp +++ b/src/lib/iter-adapter.hpp @@ -128,6 +128,7 @@ namespace lib { * - the source container needs to provide hasNext() and iterNext() free functions. * - we may need friendship to implement those extension points on the container * - the end-of-iteration can be detected by bool check + * @note it is possible to "hide" a smart-ptr within the CON template parameter. * * \par Stipulations * - POS refers to the current position within the data source of this iterator. diff --git a/src/proc/assetmanager.hpp b/src/proc/assetmanager.hpp index 6068a86c4..6e0730b5e 100644 --- a/src/proc/assetmanager.hpp +++ b/src/proc/assetmanager.hpp @@ -73,11 +73,11 @@ namespace asset { /** provide the unique ID for given Asset::Ident tuple */ static ID getID (const Asset::Ident&); - /** retrieve the registerd smart-ptr for any asset */ + /** retrieve the registered smart-ptr for any asset */ template static P wrap (const KIND& asset); - /** find and return corresponging object */ + /** find and return corresponding object */ template P getAsset (const ID& id) throw(lumiera::error::Invalid); diff --git a/tests/43session.tests b/tests/43session.tests index a88cb2b30..7320329bc 100644 --- a/tests/43session.tests +++ b/tests/43session.tests @@ -69,21 +69,21 @@ END TEST "issuing typed queries" QueryResolver_test <candidates(q3); ASSERT ( *i++ == o3); // found by direct match - ASSERT ( *i++ == o1); // followed by the ordered ennumeration + ASSERT ( *i++ == o1); // followed by the ordered enumeration ASSERT ( *i++ == o2); ASSERT ( *i++ == o3); ASSERT ( *i++ == o3); diff --git a/tests/lib/iter-adapter-test.cpp b/tests/lib/iter-adapter-test.cpp index 112a231af..c90df8cd4 100644 --- a/tests/lib/iter-adapter-test.cpp +++ b/tests/lib/iter-adapter-test.cpp @@ -98,12 +98,9 @@ namespace test{ const_iterator end () const { return const_iterator(); } + protected: /* ==== API for the IterAdapter ==== */ - friend class IterAdapter<_Vec::iterator, TestContainer>; - friend class IterAdapter<_Vec::const_iterator,TestContainer>; - - /** Implementation of Iteration-logic: pull next element. */ template friend void diff --git a/wiki/renderengine.html b/wiki/renderengine.html index af4d8e0b2..f17e1f552 100644 --- a/wiki/renderengine.html +++ b/wiki/renderengine.html @@ -1134,9 +1134,9 @@ Connecting data streams of differing type involves a StreamConversion. Mostly, t * retrieve a //strategy// for implementing a connection -
+
This index refers to the conceptual, more abstract and formally specified aspects of the Proc-Layer and Lumiera in general.
-More often than not, these emerge from immediate solutions, being percieved as especially expressive, when taken on, yielding guidance by themselves. Some others, [[Placements|Placement]] and [[Advice]] to mention here, immediately substantiate the vision.
+More often than not, these emerge from immediate solutions, being percieved as especially expressive, when taken on, yielding guidance by themselves. Some others, [[Placements|Placement]] and [[Advice]] to mention here, immediately substantiate the original vision.
Configuration Queries are requests to the system to "create or retrieve an object with //this and that // capabilities". They are resolved by a rule based system ({{red{planned feature}}}) and the user can extend the used rules for each Session. Syntactically, they are stated in ''prolog'' syntax as a conjunction (=logical and) of ''predicates'', for example {{{stream(mpeg), pipe(myPipe)}}}. Queries are typed to the kind of expected result object: {{{Query<Pipe> ("stream(mpeg)")}}} requests a pipe excepting/delivering mpeg stream data &mdash; and it depends on the current configuration what "mpeg" means. If there is any stream data producing component in the system, which advertises to deliver {{{stream(mpeg)}}}, and a pipe can be configured or connected with this component, then the [[defaults manager|DefaultsManagement]] will create/deliver a [[Pipe|PipeHandling]] object configured accordingly.
@@ -1262,7 +1262,7 @@ As we don't have a Prolog interpreter on board yet, we utilize a mock store with
 {{{default(Obj)}}} is a predicate expressing that the object {{{Obj}}} can be considered the default setup under the given conditions. Using the //default// can be considered as a shortcut for actually finding a exact and unique solution. The latter would require to specify all sorts of detailed properties up to the point where only one single object can satisfy all conditions. On the other hand, leaving some properties unspecified would yield a set of solutions (and the user code issuing the query had to provide means for selecting one soltution from this set). Just falling back on the //default// means that the user code actually doesn't care for any additional properties (as long as the properties he //does// care for are satisfied). Nothing is said specifically on //how//&nbsp; this default gets configured; actually there can be rules //somewhere,// and, additionally, anything encountered once while asking for a default can be re-used as default under similar circumstances.
 &rarr; [[implementing defaults|DefaultsImplementation]]
-
+
Along the way of working out various [[implementation details|ImplementationDetails]], decisions need to be made on how to understand the different facilities and entities and how to tackle some of the problems. This page is mainly a collection of keywords, summaries and links to further the discussion. And the various decisions should allways be read as proposals to solve some problem at hand...
 
 ''Everything is an object'' &mdash; of course, that's a //no-brainer,// todays. Rather, important is what is not "an object", meaning it can't be arranged arbitrarily