メインコンテンツ

AUTOSAR C++14 Rule A17-6-1

Non-standard entities shall not be added to standard namespaces

説明

ルール定義

非標準のエンティティを標準の名前空間に追加しないものとします。

根拠

名前空間 std またはその部分空間、あるいは、posix またはその部分空間に宣言または定義を追加すると、未定義の動作につながります。たとえば、ここで中かっこ内に何かを追加すると、未定義の動作につながります。

namespace std {
  ...
}

同様に、標準ライブラリのメンバー関数またはメンバー クラスを明示的に特殊化すると、未定義の動作につながります。

Polyspace 実装

チェッカーは、名前空間の stdposix、またはそれらの部分空間への追加、あるいは、これらの名前空間からのクラス テンプレートまたは関数テンプレートの特殊化にフラグを設定します。

ルール仕様では、ユーザー定義型が必要な標準ライブラリ テンプレートに関するルールの特殊化の側面が例外として許可されます。すべてのルール違反を正当化しなければならないプロセスがあり、チェッカーによってフラグが設定された問題がこの例外のカテゴリに属している場合は、結果またはコード内でコメントを使用して問題を正当化します。詳細は、以下を参照してください。

トラブルシューティング

ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

チェック情報

グループ: ライブラリの導入
カテゴリ: Required、Automated

バージョン履歴

R2020a で導入