![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea5248e$1@news.povray.org>,
"Thorsten Froehlich" <tho### [at] trf de> wrote:
> > My question is: can I pass file handles as parameters to macros, and
> > if yes, how?
>
> No, because you cannot make copies of file handles for obvious reasons.
Yes, but macro parameters otherwise appear to be handled as references.
There shouldn't be any copying necessary, and this would be a very
useful feature.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 03:49:18
Message: <3ea796fe$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <cja### [at] netplex aussie org> ,
Christopher James Huff <cja### [at] earthlink net> wrote:
> Yes, but macro parameters otherwise appear to be handled as references.
> There shouldn't be any copying necessary, and this would be a very
> useful feature.
No, parameters can be passed by value or reference, which is for regular
variables determined automatically. But it cannot be done for file handles
because that would require to support for either copying file handles or
supporting counted references to file handles.
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thorsten Froehlich <tho### [at] trf de> wrote:
> supporting counted references to file handles.
This shouldn't be difficult. At least not in C++.
--
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 06:43:01
Message: <3ea7bfb5$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea7bdb0@news.povray.org> , Warp <war### [at] tag povray org> wrote:
>> supporting counted references to file handles.
>
> This shouldn't be difficult. At least not in C++.
Of course, but I don't what to get a load of STL into 3.5. The tiny little
<algorithm> already caused some problems because there are enough completely
outdated compiler installs out there that still use ancient broken pre-ARM
C++ compilers and libraries :-(
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea7bfb5$1@news.povray.org>,
"Thorsten Froehlich" <tho### [at] trf de> wrote:
> Of course, but I don't what to get a load of STL into 3.5. The tiny little
> <algorithm> already caused some problems because there are enough completely
> outdated compiler installs out there that still use ancient broken pre-ARM
> C++ compilers and libraries :-(
What do you need the STL for? Reference counting is trivial to
implement. I'm not sure what use it would be for this though...if a file
is closed inside a macro, it will still be invalid, even if there are
still references to it. And how could it be destroyed while in use by a
macro?
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 11:01:58
Message: <3ea7fc66$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <cja### [at] netplex aussie org> ,
Christopher James Huff <cja### [at] earthlink net> wrote:
> What do you need the STL for? Reference counting is trivial to
> implement.
Yes, reinvent the wheel. And then try to add it in a clean manner in
POV-Ray. The problem of not being able to use "real" classes as members of
most data structures makes it a real hassle. It is about getting a clean
well-working implementation. It isn't about "Reference counting is trivial
to implement." at all.
> I'm not sure what use it would be for this though...if a file
> is closed inside a macro, it will still be invalid, even if there are
> still references to it. And how could it be destroyed while in use by a
> macro?
It could be closed, couldn't it? So what happens if you close it inside the
macro and the try to use it after the macro returns? You run into tons of
problems due to the current structure of the code, and you should have an
idea how many there are given that you have had a look at the source code
before...
Thorsten
____________________________________________________
Thorsten Froehlich
e-mail: mac### [at] povray org
I am a member of the POV-Ray Team.
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Thorsten Froehlich <tho### [at] trf de> wrote:
>> What do you need the STL for? Reference counting is trivial to
>> implement.
> Yes, reinvent the wheel.
Exactly which part of the STL implements reference counting?
(Ok, most std::string implementations use the copy-on-write technique,
which is a superset of reference counting, but that's a completely different
story because it's a completely hidden feature which you can't use in any
way yourself. Other than that, I don't think there's reference counting
anywhere in the STL.)
> And then try to add it in a clean manner in
> POV-Ray. The problem of not being able to use "real" classes as members of
> most data structures makes it a real hassle. It is about getting a clean
> well-working implementation. It isn't about "Reference counting is trivial
> to implement." at all.
I suppose that since pov4 will be designed from the scratch, it will be
made so that reference counting will be easier to implement (ie. the
"file handle" entity is a class in the first place).
Reference counting and the copy-on-write technique are quite efficient
ways of improving the performance of a program when well used.
--
plane{-x+y,-1pigment{bozo color_map{[0rgb x][1rgb x+y]}turbulence 1}}
sphere{0,2pigment{rgbt 1}interior{media{emission 1density{spherical
density_map{[0rgb 0][.5rgb<1,.5>][1rgb 1]}turbulence.9}}}scale
<1,1,3>hollow}text{ttf"timrom""Warp".1,0translate<-1,-.1,2>}// - Warp -
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea7fc66$1@news.povray.org>,
"Thorsten Froehlich" <tho### [at] trf de> wrote:
> > What do you need the STL for? Reference counting is trivial to
> > implement.
>
> Yes, reinvent the wheel.
Reference counting is extremely simple...in my opinion, it doesn't come
under "reinventing the wheel". And if there is no widespread standard
implementation, rolling your own is better than not doing it at all.
> And then try to add it in a clean manner in POV-Ray.
This is a bit more difficult...what I'd really like is to dump the
current file handling completely and start over again, with a new syntax
and more functionality. To get something I'd call "clean" would require
pretty extensive changes...something I'd rather start from scratch than
try to refactor and redesign so much code.
> The problem of not being able to use "real" classes as members of
> most data structures makes it a real hassle. It is about getting a clean
> well-working implementation. It isn't about "Reference counting is trivial
> to implement." at all.
Are you talking about problems with allocating instances of those
classes? Something that causes trouble with the vtables?
It should not be difficult to create a simple reference-counted pointer
class that hides all the difficulties of using C++ objects in the data
structures, and which itself doesn't have any problems.
> It could be closed, couldn't it? So what happens if you close it inside the
> macro and the try to use it after the macro returns? You run into tons of
> problems due to the current structure of the code, and you should have an
> idea how many there are given that you have had a look at the source code
> before...
I would not use reference counting for that. Closing the file would set
some validity flag...having a reference does not mean having an open
file. Attempting to use the file would then give some kind of error.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea87a96@news.povray.org>, Warp <war### [at] tag povray org>
wrote:
> > Yes, reinvent the wheel.
>
> Exactly which part of the STL implements reference counting?
I thought he was talking about the auto_ptr template, but that
apparently doesn't use reference counting. I think you're right, there's
nothing I can find that exposes reference counting.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tag povray org
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 25 Apr 2003 03:08:39
Message: <3ea8def7$1@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <3ea87a96@news.povray.org> , Warp <war### [at] tag povray org> wrote:
> Thorsten Froehlich <tho### [at] trf de> wrote:
>>> What do you need the STL for? Reference counting is trivial to
>>> implement.
>
>> Yes, reinvent the wheel.
>
> Exactly which part of the STL implements reference counting?
Those in ISO C++ 200X...
In article <cja### [at] netplex aussie org> ,
Christopher James Huff <cja### [at] earthlink net> wrote:
> Reference counting is extremely simple...in my opinion, it doesn't come
> under "reinventing the wheel". And if there is no widespread standard
> implementation, rolling your own is better than not doing it at all.
There is one, and it will be part of the ISO C++ standard in the very near
future.
One aspect of C++ being an ISO standard is that there is periodic review
required by ISO, and standards are usually withdrawn (formally, they of
course don't disappear) after five years if there is no update. And
comments suggest WG21 of ISOs JTC1/SC22 made some important progress in
regard to the standard library extensions during its Oxford meeting earlier
this month. Details should be avilable within a week on their website.
You can check periodically the page
<http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/> and wait for the
"Post-Oxford mailing" link to appear. It will make available documents that
say what has been accepted.
Thorsten
____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trf de
Visit POV-Ray on the web: http://mac.povray.org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |