RE: [boost] Re: [prereview request][fsm]

(My own post got me thinking some more). I am new to boost, and do not fully have my head around all that exists. But I am asking a general question here, has anyone tried running boost under "Managed C++", I assume there is a lot of RAII type of usage in boost that I assume would break. Or am I misunderstanding something? Thanks to anyone who can clarify. -----Original Message----- From: Brian Braatz Sent: Wednesday, May 26, 2004 5:18 PM To: 'boost@lists.boost.org' Subject: RE: [boost] Re: [prereview request][fsm] My 2 cents """""""""""""""""" This is certainly doable. However, I'm unsure whether the current
design allows a you-don't-pay-for-what-you-don't-use implementation of
such a feature. Plus, I'm still not convinced that this feature would be used more than rarely. Do you have some real-world use cases in mind?
[David Abrahams] Unfortunately I'm not so familiar with what exit actions in FSMs are typically used for, but from an abstract point of view I don't think of resource releasing as an "action". If you were writing this stuff in a GC'd language, for the most part, you wouldn't devote any exit action code to resource releases. """""""""""""""""' I think this is a very good point as MS seems (IMO\whether I like it or not) to be driving us down a managed GC path for future C++ efforts. This is something to deeply consider. Not that MS is "everything", but they do have a lot of C++ developers using their tools and os's.

If RAII is broken by "Managed C++" then "Managed C++" is broken. On May 26, 2004, at 6:22 PM, Brian Braatz wrote:
(My own post got me thinking some more). I am new to boost, and do not fully have my head around all that exists. But I am asking a general question here, has anyone tried running boost under "Managed C++", I assume there is a lot of RAII type of usage in boost that I assume would break. Or am I misunderstanding something?
Thanks to anyone who can clarify.
-----Original Message----- From: Brian Braatz Sent: Wednesday, May 26, 2004 5:18 PM To: 'boost@lists.boost.org' Subject: RE: [boost] Re: [prereview request][fsm]
My 2 cents """""""""""""""""" This is certainly doable. However, I'm unsure whether the current
design allows a you-don't-pay-for-what-you-don't-use implementation of
such a feature. Plus, I'm still not convinced that this feature would be used more than rarely. Do you have some real-world use cases in mind?
[David Abrahams] Unfortunately I'm not so familiar with what exit actions in FSMs are typically used for, but from an abstract point of view I don't think of resource releasing as an "action". If you were writing this stuff in a GC'd language, for the most part, you wouldn't devote any exit action code to resource releases. """""""""""""""""' I think this is a very good point as MS seems (IMO\whether I like it or not) to be driving us down a managed GC path for future C++ efforts. This is something to deeply consider. Not that MS is "everything", but they do have a lot of C++ developers using their tools and os's.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Brian Braatz wrote:
(My own post got me thinking some more). I am new to boost, and do not fully have my head around all that exists. But I am asking a general question here, has anyone tried running boost under "Managed C++", I assume there is a lot of RAII type of usage in boost that I assume would break. Or am I misunderstanding something?
Thanks to anyone who can clarify.
This is a bit off topic but since you asked: Boost can run as unmanaged code under VC++ 7 and 7.1 but can not be called by managed C++ code. Theoretically managed C++ and unmanaged C++ can coexist in the same .NET assembly ( shared library ) in what is called "mixed mode", so that a C++ programmer could use the C++ standard library and Boost among other things in a .NET assembly, but there is a hideous bug in both VC++ 7 and VC++ 7.1 in which mixed mode assemblies created in C++ can hang up any process, and there is NO fix for this bug. MS has known about this from the beta stage of the Visual Studio .NET 2003 product, but has chosen not to fix it for the life cycle of the .NET products, a period which now stretches from January 2002 until the present. This effectually destroys the ability of any C++ programmer attempting to write .NET assemblies using the C++ standard library, and Boost, since the inception of .NET. An amazing story which has gotten no press at all. Lest you think I am making this up, see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechar... . What an amazing coincidence that this bug means that C++ programmers currently can only safely write reusable libraries for .NET if they give up using the C++ standard library and all C++ template programming. Microsoft says that this bug will be fixed for the next version of .NET to be tentatively released sometime in 2005. Managed C++ is different enough from standard C++, that Boost code can not currently be written in managed C++. There is currently no support for C++ templates in managed C++ code. The next version of managed C++, circa 2005, has promised support for C++ templates.
participants (3)
-
Brian Braatz
-
Edward Diener
-
Gregory Colvin