Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

A feature might be in either the 'Needs validation', 'Allowed' or 'Disallowed' state. The significance of these states are as follows:

  1. Needs validation
    1. The feasibility of using the feature in CRYENGINE's code base is yet to be validated by the CRYENGINE Technical Council.
  2. Allowed
    1. The feature doesn't introduce "show-blocking" issues.
    2. The feature improves, or at least doesn't harm, code run and compile time performance.
    3. The feature improves code readability or debuggability. 
    4. The feature is supported by all the compilers that the CRYENGINE code base is compiled against.
  3. Disallowed
    1. The feature introduces a 'show-blocking' issue.
    2. The feature has a negative impact on run and compile time performance.
    3. The feature has a negative impact on code readability and debuggability.
    4. The feature generally doesn't contribute to the overall quality and performance of the CRYENGINE code base.
    5. The feature is not supported by a compiler that the CRYENGINE code base is compiled against.

C++17 Language Features

Template argument deduction for class templatesNeeds validation-
Declaring non-type template parameters with autoNeeds validation-
Folding expressionsNeeds validation-
New rules for auto deduction from braced-init-listNeeds validation-
Constexpr lambdaNeeds validation-
Lambda capture this by valueNeeds validation-
Inline variablesNeeds validation-
Nested namespacesAllowedDoesn't cause any blocking issues.
Structured bindingsNeeds validation-
Selection statements with initializerNeeds validation-
Constexpr ifNeeds validation-
Utf-8 character literalsNeeds validation-
Direct-list-initialization of enumsNeeds validation-
New standard attributesNeeds validation-

C++17 Library Features

std::variantDisallowed.Not supported on PS4 as of SDK 6.5.
std::optionalNeeds validation-
std::anyNeeds validation-
std::string_viewNeeds validation-
std::invokeNeeds validation-
std::applyNeeds validation-
std::filesystemNeeds validation-
std::byteNeeds validation-
Splicing for maps and setsNeeds validation-
Parallel algorithmsNeeds validation-

C++14 Language Features

Binary literalsNeeds validation-
Generic lambda expressionsNeeds validation-
Lambda capture initializersNeeds validation-
Return type deductionNeeds validation-
Decltype(auto)Needs validation-
Relaxing constraints on constexpr functionsNeeds validation-
Variable templatesNeeds validation-
[[deprecated]] attributeNeeds validation-

C++14 Library Features

User-defined literals for standard library typesNeeds validation-
Compile-time integer sequencesNeeds validation-
std::make_uniqueNeeds validation-

On This Page

  • No labels