## Readable Property Map(読み取り可能プロパティマップ)

ReadablePropertyMap(読み取り可能プロパティマップ)は、`get()` 関数により、与えられたキーに関連付けられた値オブジェクトへのアクセスを提供する。`get()` 関数は、値オブジェクトの複製を返す。

### 以下のクラスの発展型

Copy Constructible

### 記法

`PMap` | Readable Property Mapのモデル
`pmap` | `PMap`型のオブジェクト
`key` | `boost::property_traits<PMap>::key_type`型のオブジェクト

### 関連型

値型(Value Type) | `boost::property_traits<PMap>::value_type` | プロパティの型
参照型(Reference Type) | `boost::property_traits<PMap>::reference` | 値型と変換可能な値型
キー型(Key Type) | `boost::property_traits<PMap>::key_type` | プロパティを検索するために用いられるキーの型。プロパティマップは、キー型についてテンプレート化されているかもしれない。この場合、このtypedefは、voidであってもよい。
プロパティマップカテゴリ(Property Map Category) | `boost::property_traits<PMap>::category` | プロパティのカテゴリ: `readable_property_map_tag`に変換可能な型.

### 妥当な表式

名前 | 表記 | 戻り値型 | 記述
--- | --- | --- | ---
プロパティ値の取得 | `get(pmap, key)` | `reference` | `key`により識別されるオブジェクトのプロパティを検索する。

### コンセプトチェッククラス(Concept Checking Class)

      template <class PMap, class Key>
      struct ReadablePropertyMapConcept
      {
        typedef typename property_traits<PMap>::key_type key_type;
        typedef typename property_traits<PMap>::category Category;
        typedef boost::readable_property_map_tag ReadableTag;
        void constraints() {
          function_requires< ConvertibleConcept<Category, ReadableTag> >();

          val = get(pmap, k);
        }
        PMap pmap;
        Key k;
        typename property_traits<PMap>::value_type val;
      };

### See Also

Property map concepts

### Design Notes

多くの場合、"read-only"という名前は、このコンセプトを指している。しかし、この名前は適当ではない。なぜなら、コンセプトは、生来、肯定的なものであり、否定的ではないからである。 この意味は、Read Write Property Map(読み取り/書き込み可能プロパティマップ)を定義するときにより明確になる。Read Write Property Mapは、Readable Property MapコンセプトとWritable Property Mapコンセプトからなる発展型である。"read-only" と "write-only"を組み合わせることが、そんなに意味を成しているようには見えないだろう。

Copyright © 2000 | Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu)