Boost logo

Boost :

Subject: Re: [boost] [contract] syntax redesign
From: lcaminiti (lorcaminiti_at_[hidden])
Date: 2011-06-01 18:22:49


lcaminiti wrote:
>
> I can eliminate a large number of extra parenthesis based on a few pp
> tricks I've learned in processing Boost.Local's `const bind(type)&
> var`. Plus, I can provide (optional) support for variadics macros so
> to use comma-separated pp tuplets instead of parenthesized pp
> sequences on preprocessors with variadics.
>

This is "just" a naming question. If you had a macro that returned the trait
of the function access level (public, protected, private, or empty), how
would you name the macro?

For example:

    PP_META_TRAITS_FUNC_ACCESS( public void (push_back)( (T const&) value )
) // expand to `public`
    PP_META_TRAITS_FUNC_ACCESS( void (push_back)( (T const&) value ) ) //
expand to nothing

I could think to name these trait macros:
1) Meta-programing: PP_META_TRAITS_...
2) Language: PP_LANG_TRAITS_...
3) Syntax: PP_SYN_TRAITS_...
4) Specification: PP_SPEC_TRAITS_...
5) Function, class, template parameters, function parameters, etc:
PP_FUNC_TRAITS_... PP_CLASS_TRAITS_..., PP_TEMPLATE_PARAMS_TRAITS_,
PP_FUNC_PARAMS_TRAITS_..., etc

Also (but I don't like the followings because the trait macros could also
return instructions of the function body, class traits, etc so not just
function signature, declaration, or definition):
6) Signature: PP_SIGN_TRAITS_...
7) Declaration: PP_DECL_TRAITS_...
8) Definition: PP_DEF_TRAITS_...

Do you have an opinion?

Thanks a lot.
--Lorenzo

--
View this message in context: http://boost.2283326.n4.nabble.com/contract-syntax-redesign-tp3563993p3567131.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

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