With ATS 7.0 the compiler requirements will be changed so that the minimum compiler support will be C++ 11 compliant. This represents a significant change in language capabilities and this document is about how the ATS team should use those capabilities.

THIS IS A PRELIMINARY DOCUMENT PROVIDED FOR REVIEW

Specific features and use guidelines

Required

These features must be used. These are not optional.

Strongly Recommended

These features should be use when possible. These are features with good value in almost all circumstances. Exceptions are permitted but must have some justification.

Recommended

These are mechanisms that are usually useful but can be harmful if over used.

Use With Caution

These mechanisms are useful in more limited circumstances and if used improperly can cause problems. They require a deeper understanding of C++ mechanics to use effectively. If you are unsure about whether to use any of these, don't.

Hardcore

These mechanisms are deep C++ and just the use cases can be hard to explain. Use with much caution. If you need an explanation of what these terms mean, you shouldn't be using them. All of them, however, solve serious problems in the language and are therefore appropriate to use in such circumstances.

You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Avoid

tbd

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.

Related issues