Boost logo

Boost :

From: Dave Gomboc (dave_at_[hidden])
Date: 2005-07-03 01:10:54


> Tag Types:
> ----------
>
> The Function Type library uses tag types to represent one
> more attributive
> properties of a type, such as its variadicness or its calling
> convention.

"one more"? Did you mean "one or more"?

"a type"? It might be one type per tag, but tagging can be applied
to more than one type, so this should be rephrased.

"variadicness"? I think you meant "variadicity".

I'm not thrilled by "attributive properties" either. My
discomforture with this phrase is due to its perceived redundancy.
Is it common for properties to exist that attribute nothing?

I propose:

The Function Type library uses tag types to denote properties of
types. For example, the tag

    tag<fastcall, variadic>

may be used to denote use of the fast calling convention in
combination with variadicity.

> When several tags for the same property appear in the
> argument list, only the last
> one is used; others are ignored.
>
> tag<nonvariadic,variadic> // same as 'variadic'

The semantics of tag<nonvariadic, variadic> should be identical to
the semantics of tag<variadic, nonvariadic>. It strikes me as
erroneous that this combination of denotations would not yield a
compilation error. Have you a well-founded argument for this
choice?

I'm new to this thread; apologies if I'm rehashing something that
was settled earlier.

Dave Gomboc


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