LvaluePropertyMap Boost , ,
LvaluePropertyMap
The LvaluePropertyMap provides operator[] and function get() for accessing a
reference to a value object. The return type refines that of function get()in ReadablePropertyMap ; it can only be a reference (for a mutable LvaluePropertyMap) or a const reference (for a non-mutable LvaluePropertyMap).
Refinement of
ReadablePropertyMap
for non-mutable or ReadWritePropertyMap for mutable property map.
Notation
PMap
Тип, который является моделью LvaluePropertyMap.
pmap
Объект типа PMap .
key
Объект типа boost::property_traits< PMap>::key_type .
Associated Types
Тип ссылки
boost::property_traits::reference
Исходный тип, который должен быть ссылкой или констом на тип значения карты недвижимости.
Карта недвижимости Категория Бонус::property_traits::категория
Категория имущества: тип конвертируемый в boost::lvalue_property_map_tag .
Valid Expressions
Name Expression Return Type Description
Стоимость недвижимости
pmap[key]
value_type& for mutable, const value_type& otherwise.
Получить ссылку на значение, связанное с key .
Concept Checking Class
template <class PMap, class Key>
struct LvaluePropertyMapConcept
{
typedef typename property_traits<PMap>::category Category;
typedef boost::lvalue_property_map_tag LvalueTag;
typedef const typename property_traits<PMap>::value_type& const_reference;
void constraints() {
function_requires< ReadWritePropertyMapConcept<PMap, Key> >();
function_requires< ConvertibleConcept<Category, LvalueTag> >();
const_reference ref = pmap[k];
}
PMap pmap;
Key k;
};
template <class PMap, class Key>
struct Mutable_LvaluePropertyMapConcept
{
typedef typename property_traits<PMap>::category Category;
typedef boost::lvalue_property_map_tag LvalueTag;
typedef typename property_traits<PMap>::value_type& reference;
void constraints() {
function_requires< ReadWritePropertyMapConcept<PMap, Key> >();
function_requires<ConvertibleConcept<Category, LvalueTag> >();
reference ref = pmap[k];
}
PMap pmap;
Key k;
};
See Also
Property map concepts
Статья LvaluePropertyMap раздела может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: ::