C++ Boost

可寫 Property Map

可讀 Property Map 具有通過 put() 函數對與給定鍵對像相關聯的值對像進行設置的能力。

強化自

可複製構造

符號

PMap 一個類型,符合可寫 Property Map.
pmap 類型 PMap 的一個對像
key 類型 boost::property_traits<PMap>::key_type 的一個對像
val 類型 boost::property_traits<PMap>::value_type 的一個對像

關聯類型

Value Type boost::property_traits<PMap>::value_type 屬性的類型
Key Type boost::property_traits<PMap>::key_type 用於查找屬性的鍵對象的類型。property map 可以依照鍵類型參數化,這種情況下該 typedef 可以為 void
Property Map Category boost::property_traits<PMap>::category 屬性的分類:可轉換為 writable_property_map_tag 的類型

有效表達式

名字 表達式 返回類型 描述
設置屬性值[1] put(pmap, key, val) void val 賦給與 k 相關聯的屬性

備註

[1] 函數 put() 原來的名字是 set(), 但為了在使用非標準名字查找規則的編譯器(Microsoft Visual C++)時避免與 std::set 類發生名字衝突,改為現在的名字。以下例子演示了這個問題。
#include <set>
using namespace std;
namespace boost {
void set() { }
}

概念檢查類

  template <class PMap, class Key>
struct WritablePropertyMapConcept
{
typedef typename property_traits<PMap>::key_type key_type;
typedef typename property_traits<PMap>::category Category;
typedef boost::writable_property_map_tag WritableTag;
void constraints() {
function_requires< ConvertibleConcept<Category, WritableTag> >();
put(pmap, k, val);
}
PMap pmap;
Key k;
typename property_traits<PMap>::value_type val;
};

參見

Property map 概念

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