> From: Beman Dawes <[EMAIL PROTECTED]> > At 05:17 PM 1/8/2003, William E. Kempf wrote: > >> From: Rene Rivera <[EMAIL PROTECTED]> > >> I rather dislike the conditional compilation solution. It makes it > rather > >> harder to write portable code as it makes for doing conditional PP code > >> outside of the library. Would it not be preferable to throw some form > of > >> "unimplemented"/"unsupported" exception? Another option would be a > >discovery > >> interface to find out what's supported in the platform. Such a > discovery > >> interface could be used with MPL to get the equivalent of PP. > > > >Note that we do throw exceptions in many cases where things aren't > >supported. However, if a large category of functionality is not > available, > >such as scheduling, there's reasons to prefer conditional compilation. > >First, you can get rid of unecessary code. Second, you know from > attempts > >to compile whether or not code can actually be ported to a given > platform. > >IOW, the exception approach is only useful when you can compensate for > the > >lack of a feature at run time. > > I'm not a fan of conditional compilation either. > > I'd rather see the functions always supplied, even as stubs, unless it is > absolutely sure that every use represents a serious error. > > For example, setting the stack size may have no effect on some platforms, > but why should it be considered an error? > > There could be a compile time way to tell if the feature has any effect, so > if the user wishes to tailor the code, it is possible to do so. > > Particularly between major platforms like POSIX and Windows, I'd hope that > programs could be moved back and forth without user code being concerned > about presence or absence of features.
That's the rub, though. Some features are killer for portability when an application must maintain "realtime constraints". If a platform doesn't support the features you need for realtime programming, you simply can't target that platform, and a stubbed approach is going to cause you more problems than it's going to help. But I understand why people don't like conditional compilation... and that's precisely why I brought the subject up. If there's a solution I'm not thinking of, I'd prefer to have another approach as well. William E. Kempf [EMAIL PROTECTED] _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost