C++ Boost

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)