Brian McNamara wrote:
On Wed, Aug 13, 2003 at 11:27:08PM -0400, Brian McNamara wrote:
I've been working on a draft of the documentation for the boostified
version of FC++, and it's finally reached a good enough state to be
potentially useful to you-all. Check out
I've wanted to do dynamic inherit
Larry Evans wrote:
Alexander Nasonov wrote:
[snip]
The following post:
http://aspn.activestate.com/ASPN/Mail/Message/boost/1593756
There's also:
http://lists.boost.org/MailArchives/boost/msg46513.php
indicating some interest in combining thread safety and
decoration. It seems to me (a n
Alexander Nasonov wrote:
[snip]
The library doesn't use OS pipes. Pipe support is implemented by hand with a
help of Boost.Threads. Synchronization occurs only in underflow, overflow,
sync, open and close functions which means fast I/O.
The library also has two capacity models: limited and unli
Larry Evans wrote:
[snip]
I'm trying to get synopsis to translate into Boost guideline form;
however, I'm having trouble with getting comments properly attached
to the declarations. As soon as that is done, I'll upload it.
The comments are properly attached; however, the ASCII
John Madsen wrote:
> Starting from the smart_ptr headers (shared, scoped, and weak), I've
> created corresponding handle classes. The motivation is to provide
> RAII semantics for handle based resources. Windows' HANDLEs,
> FILE*s, and file descriptors are the most obvious examples.
[snip]
>
>
Paul A. Bristow wrote:
| -Original Message-
| From: [EMAIL PROTECTED]
| [mailto:[EMAIL PROTECTED] Behalf Of Larry Evans
[snip]
I can see much logic in your layout (much more perhaps than in the C language!)
but sadly, I think the balance of pros and cons is in favour of sticking to a
Howard Hinnant wrote:
On Tuesday, July 1, 2003, at 08:21 PM, Schoenborn, Oliver wrote:
On Tuesday, Jul 1, 2003, at 17:36 America/Denver, Schoenborn, Oliver
wrote:
On Tuesday, Jul 1, 2003, at 14:38 America/Denver, Boost wrote:
Why is there no strict-ownership smart-pointer in boost?
Just curious
On 28 Jun 2003 01:38:14 -0700 (PDT) Daryle Walker wrote:
> On Friday, June 27, 2003, at 8:34 AM, Larry Evans wrote:
>
>> Paul A. Bristow wrote:
>
> [SNIP]
[snip]
> Was the code machine-generated (e.g. Perl script, etc.)? I was
> wondering that when I noticed that the s
John Torjo on 23 Apr 2003 06:16:20 -0700 (PDT) wrote:
[snip]
>
> 2. binding marg_stream to a std::ostream& couples them too much IMHO
> (that is, the marg_stream variable is coupled to the other stream).
> This actually came to me when I wanted to use col_io together with my
> thread_safe_log
Paul A. Bristow wrote:
I also have an updated ('C++ 1998 STL standardized') version of James Kanze's
of filtering streambuf and filtering streams derived from his files at
www.gabi-soft.fr re-built for MSVC 7.1, (Could be posted on request).
Please do.
and his illuminating articles in C++ Report 1
Larry Evans wrote:
[snip]
The articles at:
http://www.gabi-soft.fr/articles-en.html
pretty much confirms that Kanze's code does more (and possibly does it
better) than my code at files/col_io/test_ostreambuf_decorator.zip.
[snip]
http://groups.yahoo.com/group/boost/files/col_io/delta.t
Larry Evans wrote:
[snip]
The code mentioned MAY be very similar to that of J. Kanze available
at:
The articles at:
http://www.gabi-soft.fr/articles-en.html
pretty much confirms that Kanze's code does more (and possibly does it
better) than my code at files/c
Larry Evans wrote:
> Larry Evans wrote:
>
> [snip]
>
>> Please see the just uploaded marg_ostreambuf.cpp for a
>> little better version.
>
>
> The just uploaded test_ostreambuf_decorator.zip contains
> renamed classes as well as virtual {detach,attach}_ostream
Larry Evans wrote:
[snip]
Please see the just uploaded marg_ostreambuf.cpp for a
little better version.
The just uploaded test_ostreambuf_decorator.zip contains
renamed classes as well as virtual {detach,attach}_ostream
to avoid using ostream* m_ostream==0 as flag indicating
the end of the chain
Larry Evans wrote:
[snip]
test_marg_ostreambuf.zip. Also, I was thinking that
using the you might want to string together the fwd_ostreambuf's
much like a unix pipe. For example, you could provide a
Please see the just uploaded marg_ostreambuf.cpp for a
little better ve
Maxim Egorushkin wrote:
"Larry Evans" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
I'll soon upload a commented an simplified version of marg_ostreambuf
and maybe a templatized version to parameterize the addedState. I may
rename it too to decorated_ostreambuf
Maxim Egorushkin wrote:
"Larry Evans" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
[snip]
I've examined col_io. At a high point of view it is the decorator pattern -
you extend basic_ostream<> interface with identation capabilities. The code
Larry Evans wrote:
[snip]
Any comments? Maybe this method could be used
Yeah. What happens when ostream destructor is called.
Since this probably calls the streambuf destructor,
and if the streambuf is actually a fwd_streambuf,
and the ~fwd_streambuf resets the ostream.rdbuf,
this just may be a
Larry Evans wrote:
[snip]
The prototype of the "using overflow+sputc" method is in
files/col_io/test_fwd_streambuf.zip.
A more complete marg_ostream example is in
files/col_io/test_marg_ostreambuf.zip. It
shows how an ostream indentation can be changed
without resorting to a wrapper
Larry Evans wrote:
[snip]
with buffered input. After thinking some more, I thought about just
using overflow and sputc to "pipe" the output to the next streambuf.
This greatly simplified the code. Would something similar work with
[snip]
The prototype of the "using overflow+sput
Maxim Egorushkin wrote:
[snip]
I posted here a while ago streambuf adapters. There was no any answer. May
be you might find it intresting.
Sorry I overlooked it.
The main idea is simple: to present any linear sequence as
std::basic_streambuf<>.
It sounds like what people, in particular Robert Rame
Jonathan D. Turkanis wrote:
I've thought a little
more about composition, and I think I see what your getting at. Composing
streambufs is easy if the conversion facilities you want to use are
expressed as codecvts. A wrapper around the code I posted could be used to
generate streambufs like so:
tem
Daryle Walker wrote:
Since my last announcement (a couple of weeks ago) of refining the
more_io files that were reviewed a few months ago, I've done another set
of revisions. The altered files are in the Boost Sandbox CVS.
Besides an altered "boost/io_fwd.hpp" and "libs/io/doc/index.html", we g
Robert Ramey wrote:
In the course of my work I had occasion to make a small family
of iterator adaptors for escaping/unescaping ascii text, and things
like that. I made the constuction interface so it could use
another iterator adaptor as a "source" thereby permiting me
to compose iterators in any
Larry Evans wrote:
[snip]
I hadn't thought of the "adaptable sequence" idea, but the "composition
of streambufs" idea sounds similar to the marg_ostreambuf in
files/col_io. The marg_ostreambuf::CTOR takes a streambuf and its
member functions forward to that after doin
Jonathan D. Turkanis wrote:
Thanks for your interest. I have posted the library at
http://groups.yahoo.com/group/boost/files/streambuf_lib/.
[snip]
Robert Ramey wrote:
[snip]
out of streambuf and a streambuf built that can use any "adaptable
sequence".
This is good idea! I had thought about compo
Bohdan wrote:
Hi,
Recently i heard something about "Double Dispatch" within FSM discussion.
Sorry for bothering, but where can i find something about it ?
Sources/Article ?
Thanks for help.
See "visitor pattern" in _Design Patterns_ by Gamma, Helm, Johnson,
Vlissides.
_
Reece Dunn wrote:
Anthony Williams wrote:
> Writing an XML parser from scratch for boost should, IMHO, have these
> features:
[snip]
Writing a lexer/parser is a complex task. It wasn't a requirement, more
a suggestion/my opinion on what a boost XML library should be like.
There are four possibl
Chuck Messenger wrote:
Schoenborn, Oliver wrote:
[snip]
... Strict ownership means that only one object at any
given time can be the owner. This is pretty straightforward and the raw
pointer example shows that there is no such thing as cyclic strict
ownership
that works, at least within the above
d
>> pull this information together it might help to get this discussion
>> out of the cycle it seems caught in ;->
[snip]
> Very briefly, here's what I've found so far -- please tear it apart at
> will:
>
[snip]
>
> 4. shared_cyclic_ptr - by Larry Evans. See
Gregory Colvin wrote:
> On Friday, May 30, 2003, at 10:18 America/Denver, Larry Evans wrote:
>
[snip]
>>
>> http://groups.yahoo.com/group/boost/files/shared_cyclic_ptr/
>> draft-compare.zip might be a good starting point. It
>> doesn't include the la
Gregory Colvin wrote:
On Friday, May 30, 2003, at 09:56 America/Denver, Chuck Messenger wrote:
...
What I'm trying to develop (or even better, find) is a workable C++
[snip]
their relative advantages and disadvantages are. If someone could
pull this information together it might help to get this
Jeffrey Hsu wrote:
Is there any interest in a generic implementation of the
Lengauer-Tarjan algorithm to compute the immediate dominator
tree of a flow graph in almost-linear time?
I'd be interested; however, I've no immediate use. I'm only
interested because I'm interested in compilers and analyz
Gregory Colvin wrote:
[snip]
Do you really need a precise collector? Boehm's collector works just fine.
Most people don't, but some do. In Jones and Lins _Garbage Collection_
there's mention of "misidentification" or "false" pointers in
applications with large compress bitmaps. Also, for high
Gregory Colvin wrote:
Check out
http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html
[snip]
On Thursday, May 29, 2003, at 19:57 America/Denver, Larry Evans wrote:
Gregory Colvin wrote:
[snip]
> It is not that hard to write a new(gc) and gc_allocator
> using Boehm's col
Gregory Colvin wrote:
[snip]
> It is not that hard to write a new(gc) and gc_allocator
> using Boehm's collector, for those who don't want to have
> the collector take over all memory allocation.
I found John Max Skaller's posts on such a gc_allocator:
http://aspn.activestate.com/ASPN/Mail/Mes
Gregory Colvin wrote:
[snip]
It seems that rather than take the route of modifying all the
standard containers one might as well just provide a special
operator new(gc) and gc_allocator that can track all the memory
blocks on the heap that might contain a shared_ptr. Then one
can either replace gl
Larry Evans wrote:
[snip]
See if the current stl_container.cpp can at least traverse your pointer
graph correctly.
Unfortunately, stl_container.cpp can't work with the stl because it prototypes
a "slight" modification to stl to make stl easily gc'ed. If you want to work
Chuck Messenger wrote:
Larry Evans wrote:
[snip]
Right. scoped_cyclic_ptr (in shared_cyclic_ptr.zip) works around this by
using a smart ptr enumerator
function specialized for each type of container. The specialized
function
is then used to access all the smart ptrs in the container (via the
Peter Dimov wrote:
Larry Evans wrote:
Chuck Messenger wrote:
The basic idea is to intercept all memory allocations -- p = new X;
--
saving the info with "map[p] = sizeof(X);". To find the
interconnections between objects, you do this:
for (map_type::iterator it = map.begin(); it
Chuck Messenger wrote:
[snip]
Does the Boehm collector likewise do a full scan of the heap? I assume
so...
Yes. From p. 28 of _Garbage Collection_, 1996
( http://www.cs.kent.ac.uk/people/staff/rej/gcbook/gcbook.html )
"all cells are examined by the sweep"
However, this is theory. In actual imp
Chuck Messenger wrote:
[snip]
collections, put them in object heirarchies, etc). This freedom should
ideally apply both internally (within library L code) and most
importantly, externally (in the code of users of library L). Crucially,
Would you require the users to use a smart pointer instead
Chuck Messenger wrote:
Peter Dimov wrote:
Chuck Messenger wrote:
[snip]
Well, it's in too much flux right now -- perhaps if I ever finish it,
I'll post it. It's a concurrency library - an implementation of the API
described in Concurrent Programming in ML.
[snip]
Thanks -- that sounds interesti
Schoenborn, Oliver wrote:
Circular refs are easy to avoid with smart_ptr lib but idiomatically what
you are really looking for is DynObj (and maybe RRef ) in the NoPtr lib
(http://noptrlib.sourceforge.net). Strict ownership is ideal for pimpl and
in particular your example of circular dependency, a
Chuck Messenger wrote:
[snip[
Thanks -- it looks very interesting.
I did some googling, to see what its status is. Seems it hasn't been
mentioned much since the flurry of activity in Jan-May 2001. Pity,
since if it works "as advertised", it seems pretty useful.
I implemented Lin's local mark
Chuck Messenger wrote:
[snip]
In general, the abstraction is: you have a group of intra-referential
objects. When any of the group is constructed, they are all constructed
(so that the master count is temporarily > 1), and the master count is
reset to 1. When the master count goes to 0, the gr
Alexander Terekhov wrote:
< 2 x Forward Inline >
[snip]
There's no COW semantics here. It's rather simple, really. Any
operation that "updates" the use-count needs to be synchronized
with respect to other readers/writers. The basic thread safety
is pretty much the same stuff as POSIX's memory syn
Reece Dunn wrote:
Larry Evans wrote:
[snip]
There are two possible ways I see at simplifying your marg_ostream:
[1] Overload string operations only since you only really need to
intercept '\n' characters - this appears to be the simpler of the two
solutions (as there is no real need t
Larry Evans wrote:
Jason House wrote:
[snip]
use make files and perl scripts. I'll post them in another
files directory, probably col_io.
The test is is files/col_io/col_io.zip. The file:
libs/col_io/tests/marg_ostream/generated.mk
is a simplified makefile produced with help of save_
Jason House wrote:
Larry Evans wrote:
Reece Dunn wrote:
Here is the associated code and example program.
Wouldn't the following:
*this<
do essentially what indentor< OutputFileType >::indent() does?
I have not read indentor's code, so I'll only comment about the exam
Larry Evans wrote:
Reece Dunn wrote:
Here is the associated code and example program.
[snip]
marg_ostream. Another indentor implementation is there's no need
The above should be "indentor advantage"
to defind operator<< or all the primitive types as was done in
should b
Reece Dunn wrote:
Here is the associated code and example program.
Wouldn't the following:
*this<
do essentially what indentor< OutputFileType >::indent() does?
This implementation also requires the user to know when the
beginning of line occurs. That does sound pretty reasonable,
and I'm kind
Reece Dunn wrote:
This utility class provides a mechanism for adding indentation to an I/O
stream. I was wondering who would be interested in it, or if anyone has
anything similar.
This sounds like marg_ostream. See:
http://aspn.activestate.com/ASPN/Mail/Message/1526216
__
Kevin Cadieux wrote:
I'm starting with this project so I can only give you a general
description. The GC I am talking about would be omnipresent in the
project and almost invisible to the user without affecting the control
the programmer would have over it. It could obviously allow multiple
in
Philippe A. Bouchard wrote:
Larry Evans wrote:
Kevin Cadieux wrote:
[snip]
It's pretty good. "ip_assign_op_switch" is faster than "ip_offset_iterator"
but must be explicit?
I was afraid of that(as indicated in 6.2.2 of the .html file); however,
ip_offset_iter
Kevin Cadieux wrote:
Would a library enabling Garbage Collecting be of any interest?
Yes, but how does it compare with that in:
http://groups.yahoo.com/group/boost/files/shared_cyclic_ptr/
?
In particular, see the just uploaded proxchildren-pattern.html.
I couldn't upload the class and sequence d
Brian Gray wrote:
A raw memory buffer is a good idea. I've rolled my own on a couple of
occasions, but never tried to mimic the style of the STL. That approach
opens up a couple issues:
Since we don't know what's stored in the memory buffer (image/audio
data, chars from an input stream, seria
Alisdair Meredith wrote:
Phil Nash wrote:
[snip]
Final disorganised point When you think 'pointer' without a
context, what concept do you associate first? Resource-manager? Or
dereferencable? The very name suggests the latter to me! [Which could
be why I have such a hard time with pointers-t
Terje Slettebø wrote:
From: "Vladimir Prus" <[EMAIL PROTECTED]>
Terje Slettebø wrote:
[snip]
std::cout << io_format("\n|","|\n","|")
<< io_format("---","---","---")
<< board << '\n';
}
we get:
---
|O|X|O|
---
|X|X|O|
---
|O|O|X|
---
I've
Ralf W. Grosse-Kunstleve wrote:
--- David Abrahams <[EMAIL PROTECTED]> wrote:
[EMAIL PROTECTED] (Joerg Walter) writes:
I needed something with exactly boost::shared_array's interface to add
reference counting to ublas. With shared_array I'm able to run the CLAPACK
test suite on ublas containe
Philippe A. Bouchard wrote:
1)
I have rewritten the "Rationale" section of shifted_ptr<> in file
/shifted_ptr/doc/structboost_1_1shifted__ptr.html:
http://groups.yahoo.com/group/boost/files/shifted_ptr.zip
In my mozilla browser, I opened this html file and did search for
"ration" but got nothing
Philippe A. Bouchard wrote:
"Larry Evans" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
[...]
Only if you want to collect cycles or provide some other means for
accessing the arcs in the pointer graph. As a matter of fact, it may
Philippe A. Bouchard wrote:
[snip]
>
> Oh no, don't tell me GC_malloc was working this way ;)
>
> BTW gc_header *must* have (ip_descriptor *) ?
>
Only if you want to collect cycles or provide some other means for
accessing the arcs in the pointer graph. As a matter of fact, it may
be better to
Philippe A. Bouchard wrote:
[snip]
I guess it would also be possible to allocate a "shifted object" into some
specific memory page, so operator delete will be able to quickly detect
weither the object is shifted or not. This way it would be possible to
overload the main operator new.
I think
Philippe: I just wanted to let you know I am looking at your code at:
http://groups.yahoo.com/group/boost/files/gc_ptr.zip
However, I've not had time to understand it fully. I do like the way
you've got a virtual table pointer (VTP) installed in each garbage
collected object.
Currently, I'm try
David B. Held on Sat, 18 Jan 2003 05:07:00 -0600 wrote:
> "Edward Diener" <[EMAIL PROTECTED]> wrote in message
> b0aro4$5gq$[EMAIL PROTECTED]">news:b0aro4$5gq$[EMAIL PROTECTED]...
>
>[...]
> Actually, the policy_ptr<> code in the sandbox features a policy adaptor
> that automagically detects specif
Larry Evans wrote:
> Peter Dimov wrote:
> > From: "Larry Evans" <[EMAIL PROTECTED]>
[snip]
> I'm pretty sure there a reference to it in some of the compare docs
> or code in the files/shared_cyclic_ptr directory.
I thought I'd be more help. The
Peter Dimov wrote:
From: "Larry Evans" <[EMAIL PROTECTED]>
[snip]
This scan will also have to follow plain pointers.
Plain pointers would have to be followed by a real collector, but why should
a "simple cycle-breaker" bother?
The iplimits.txt file in the shared_
Peter Dimov wrote:
> From: "Larry Evans" <[EMAIL PROTECTED]>
[snip]
>>Why not use the Delef approach as demonstrated in shared_cyclic_ptr to
>
> avoid
>
>>false positives altogether?
>
>
> I'm not familiar with Detlef's approach...
I
Peter Dimov wrote:
From: "Larry Evans" <[EMAIL PROTECTED]>
[snip]
This doesn't look correct to me... did you mean something like
struct X
{
Y * p;
explicit X(Y * p): p(p) {}
~X() { delete p; }
};
struct Y
{
shared_ptr p;
};
int main()
{
Y * py =
Peter Dimov wrote:
From: "Larry Evans" <[EMAIL PROTECTED]>
1. Find the two X objects (let's call them x1 and x2) on the heap, and
scan
Wouldn't this scan have to be either conservative, like BW, or use some
way
to determine the precise location of the share
Peter Dimov wrote:
From: "William E. Kempf" <[EMAIL PROTECTED]>
I don't follow this. How does the user prevent the destructors from
referencing the other
object(s) participating in the cycle which may no longer exist? The only
safe way to break
the cycle is to have intimate knowledge a
Daryle Walker wrote:
Could we arrange a review of the I/O stuff I currently have in the
sandbox? The files are:
boost/io/array_stream.hpp
boost/io/iomanip.hpp
boost/io/streambuf_wrapping.hpp
I haven't looked at this code closely, but maybe it can be used instead
of the
col_io code in http://
Douglas Gregor wrote:
On Tuesday 05 November 2002 01:52 pm, Larry Evans wrote:
[snip]
I grabbed the stylesheets from
http://sourceforge.net/project/showfiles.php?group_id=21935
You'll also need to have an XSLT processor available. I suggest xsltproc (part
of libxslt, from the
74 matches
Mail list logo