Boost logo

Boost :

From: Jason Hise (chaos_at_[hidden])
Date: 2005-03-06 23:39:38


Jonathan Turkanis wrote:

>Iain K. Hanson wrote:
>
>
>>Thanks for the history that I've sniped. I understand fully what you
>>mean. I have had the similar problems with my sockets library. The
>>problem IMHO is a lack of meta-programming skills ( I've certainly
>>suffered from ). However, Czarnecki & Eisenecker showed that C++ is
>>Church Turring complete at compile time so as long as this conjecture
>>holds it has to be doable.
>>
>>
>
>I also have the suspicion that it is doable, or at least that a blended approach
>is possible in which you get ruthless efficiency as long as you don't use
>certain features. But I wouldn't draw to many conclusions from computational
>completeness. There are still some things you can't do in metaprograms, such as
>write "Hello World" to standard output. ;-)
>
>Jonathan
>
Well, perhaps not 'standard' output... ;)

template < typename Unused >
void meta_main ( )
{
    Hello_world;
    This_is_a_message_that_is_printed_to_the_list_of_errors;
}

int main ( )
{
    meta_main < void > ( );
    return 0;
}

Output:

'Hello_World' : undeclared identifier
'This_is_a_message_that_is_printed_to_the_list_of_errors' : undeclared
identifier

- Jason


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk