POV-Ray : Newsgroups : povray.general : Passing file handles to macros - how? Server Time
4 Aug 2024 18:19:56 EDT (-0400)
  Passing file handles to macros - how? (Message 11 to 20 of 26)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 6 Messages >>>
From: Christopher James Huff
Subject: Re: Passing file handles to macros - how?
Date: 23 Apr 2003 20:29:27
Message: <cjameshuff-6BC681.20292523042003@netplex.aussie.org>
In article <3ea5248e$1@news.povray.org>,
 "Thorsten Froehlich" <tho### [at] trfde> 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] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 03:49:18
Message: <3ea796fe$1@news.povray.org>
In article <cja### [at] netplexaussieorg> , 
Christopher James Huff <cja### [at] earthlinknet>  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] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Warp
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 06:34:24
Message: <3ea7bdb0@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> 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

From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 06:43:01
Message: <3ea7bfb5$1@news.povray.org>
In article <3ea7bdb0@news.povray.org> , Warp <war### [at] tagpovrayorg>  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] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

From: Christopher James Huff
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 10:05:15
Message: <cjameshuff-3870AB.10050424042003@netplex.aussie.org>
In article <3ea7bfb5$1@news.povray.org>,
 "Thorsten Froehlich" <tho### [at] trfde> 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] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 11:01:58
Message: <3ea7fc66$1@news.povray.org>
In article <cja### [at] netplexaussieorg> , 
Christopher James Huff <cja### [at] earthlinknet>  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] povrayorg

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

From: Warp
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 20:00:22
Message: <3ea87a96@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> 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

From: Christopher James Huff
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 20:34:37
Message: <cjameshuff-353FF4.20344724042003@netplex.aussie.org>
In article <3ea7fc66$1@news.povray.org>,
 "Thorsten Froehlich" <tho### [at] trfde> 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] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Christopher James Huff
Subject: Re: Passing file handles to macros - how?
Date: 24 Apr 2003 20:49:47
Message: <cjameshuff-1EC5B9.20495224042003@netplex.aussie.org>
In article <3ea87a96@news.povray.org>, Warp <war### [at] tagpovrayorg> 
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] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: Passing file handles to macros - how?
Date: 25 Apr 2003 03:08:39
Message: <3ea8def7$1@news.povray.org>
In article <3ea87a96@news.povray.org> , Warp <war### [at] tagpovrayorg>  wrote:
> Thorsten Froehlich <tho### [at] trfde> 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] netplexaussieorg> ,
Christopher James Huff <cja### [at] earthlinknet>  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] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 6 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.