
Greetings Boost: I am happy re-submitting after 4 years my final design and implementation proposal of "shifted_ptr" which includes very useful tools named "list", "stack" and "roofof". The new containers consisting of STL-like ones but offering external access to the nodes, removing the need of dynamically allocated nodes and thus offers multi-dimensional control over their elements. "roofof" is a one line helper function used in conjunction with the mentionned containers to find the root address of the class housing the member used by the container in question. In contrast with its previous submission, "shifted_ptr" now relates to a memory manager of constant complexity and of size: sizeof(void *) * 2. It take advantage of the low-memory consuption, fast execution and very versatile interface. It proposes a very different concept, removes the need of current functions such as: "enable_shared_from_this", destroys the "cyclic pointer" problem and is now perfectly type-safe. The former reference counted smart pointer was renamed to "shifted_ptr_base" and merged properly with Boost standards. Morever "shiifted_ptr" is closely tied to the current "shared_ptr" that uses objects derived from "sp_counted_base". This was extended to objects deriving from "owned_base", which includes the necessary information that is handled by the smart pointer plus a smart destructer that differentiates arrays from standard objects and destroys the object accordingly. I have not yet written entirely its documentation but I have included a well documented reference to its API. I would like to schedule a review for now and by then the documentation shall be completed. I am also aware the library doesn't yet handle multi-threaded applications but I would like to start with getting the library better known. The theory behind is perfectly reliable but I can't say I forgot technical issues. The library is located at: http://www.boost-consulting.com/vault/index.php?action=downloadfile&filename=shifted_ptr-2.0.zip&directory=Memory& Thank you, Phil Bouchard