Removing array support from `tf/staticTokens.h` macros

Hello. In support of reducing the OpenUSD’s dependency on boost, we’re considering removing support for token arrays from the macros in tf/staticTokens.h.

The documentation for the static token macros shows the following sequence macro.

#define MF_TOKENS \
    (transform)   \
    (moves)       \ 
    ((foo, "bar")) \
    ((amountTs, ( (tx) (ty) (tz) )))   

The current specified behavior is that tx, ty, and tz will become tokens (with their identifier stringified into their value) and amountTs will be defined as a TfToken[3] containing tx, ty, and tz. This functionality isn’t used in the open source repository and requires BOOST_PP_SEQ_FILTER.

We’re considering removing this functionality (perhaps as early as 24.02) to remove the dependency on BOOST_PP_SEQ_FILTER. Does anyone have any external use cases that require this functionality or other concerns / thoughts?

Without this functionality MF_TOKENS would look like this

#define MF_TOKENS \
    (transform)   \
    (moves)       \ 
    ((foo, "bar")) \
    (tx) \
    (ty) \
    (tz)

and amountTs would be defined elsewhere. This change would not affect the generation of the allTokens vector.

Thanks in advance,
Matt