
"Edward Diener" <eddielee@tropicsoft.com> wrote in message news:d2n1vk$62e$1@sea.gmane.org...
Adding an implementation of any Boost library to .net means rewriting at least some of that library in managed C++ for net 1.0 or 1.1 or for C++/CLI for net 1.2 . I know that managed C++ has no template support ( and under an NDA I can not disclose anything I know about .net 1.2 that is not public knowledge ) so basically you are asking that the FileSystem library be written completely without the use of templates.
Furthermore all C++ modules in net 1.0 and net 1.1 are subject to the DLL initialization bug if those modules are created as a .NET assembly using mixed mode C++. Mixed mode C++ involves any C++ code which uses the C++ standard library or the windows API. This bug can occur at any time and crash the end-user's application and has nothing to do with the programmer's code, thus essentially destroying all mixed-mode C++ programming of assemblies for .net 1.0 and .net 1.1. Nor is there any sure workaround for this bug. This is all well-documented by Microsoft. So the only real alternative for C++ programmers writing assembles for .net 1.0 and .net 1.1 are to write pure mode managed C++, which is vastly different in many respects from standard C++ which Boost promotes.
Given these truths it would be exceedingly foolish for Boost, or for the Boost Filesystem, to be developed for .net as it now exists. You're absolutely right, but what about 2.0? It supports templates and I believe Microsoft will fix that bug in 2.0. The only disadvantage that it's not ready yet.
So, may be we should postpone this question until 2.0 released? Anyway I don't think it's bad idea to do it with at least .NET 2.0. -- Pavel Chikulaev