|
Boost : |
From: Jack M. Thompson (JMThompson_at_[hidden])
Date: 2002-01-30 17:05:02
I see your point. I think that if a single base class is used, it
should be templated. But, I don't want to burden the user with the
template, except for a single line of code tucked neatly into a standard
file exclusively for each this purpose.
The system I'm trying to describe does this with a single macro that
expands to about three lines of code. All it does is create a
definition and an instance of a virtual constructor. It must exist for
the underlying architecture to know how to create, copy or destroy the
object.
The base object itself may have an identity, but it is also possible to
not have an identity, saving space. The identity type (if there is one)
should be a template argument.
There should never be anything more than the one identity data member
defined in this base. The connection to its parent should be a
reference. The object can't be created without a reference being
supplied. This, coupled with the fact that the parent is parented to a
top node object, which is normally parented to another product (derived
from the single base class), is what makes the system so tight.
I'm explaining how I think this system should work with a couple of
documents. They are almost ready.
Thanks for the input.
-----Original Message-----
From: quendezus [mailto:quendez_at_[hidden]]
Sent: Monday, January 28, 2002 7:03 AM
To: boost_at_[hidden]
Subject: Re: Persistence Library Needed in Boost? (Was: [boost] A tip
from the Dr.)
All these persistence libraries are intrusive (you have to use a base
class). Some of them don't use serialization. They all heavily rely
on runtime polymorphism. I think a boost persistence library should
be non intrusive and should use template programming.
Sylvain
--- In boost_at_y..., "Gustavo Guerra" <gustavobt_at_m...> wrote:
>
> ----- Original Message -----
> From: "jackthompson99" <JMThompson_at_E...>
> tip from the Dr.)
> > I'd like to find out if there are any other libraries available
that
> > do the same thing BEFORE trying to submit this as a new boost
> > library. Do you know of any?
> >
>
> Some links:
>
> Persistent Pointer Factory
> http://www.codefarms.com/ppf/
>
> Simple XML Persistence
> http://sxp.sourceforge.net/
>
> A class library for persistent object management in c++
> http://www.mb.hs-
wismar.de/Mitarbeiter/Pawletta/00Uwe/persistent/persistent.
> html
>
> GNU Common C++
> "Common C++ is a C++ framework offering portable support for
threading,
> sockets, file access, deamons, persistance, and system services"
> http://www.voxilla.org/projects/projape.html
>
> Issues in the Design of a Reflective Library for Checkpointing C++
Objects
> http://www.cse.psu.edu/~kasbekar/papers/srds99.pdf
> http://www.cse.psu.edu/~kasbekar/papers/srds99.ps
>
> e4Graph
> "a C++ library that provides your program with reliable, efficient
and
> portable persistent storage for graph like data"
> http://e4graph.sourceforge.net/
>
> Roguewave SourcePro Core
> http://www.roguewave.com/products/sourcepro/core/
>
> Regards
> Gustavo Guerra
Info: http://www.boost.org Send unsubscribe requests to:
<mailto:boost-unsubscribe_at_[hidden]>
Your use of Yahoo! Groups is subject to
http://docs.yahoo.com/info/terms/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk