Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Constant Associative Property Map Adaptor

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

C++ Boost

const_associative_property_map<UniquePairAssociativeContainer>

Эта карта свойств представляет собой адаптер, который преобразует любой тип, который является моделью как парного ассоциативного контейнера, так и уникального ассоциативного контейнера., напримерstd::mapв константуКарта недвижимости. Обратите внимание, что адаптер сохраняет только ссылку на контейнер, поэтому срок службы контейнера должен охватывать использование адаптера.

Example

example1.cpp:
#include <iostream>
#include <map>
#include <string>
#include <boost/property_map/property_map.hpp>
template <typename ConstAddressMap>
void display(ConstAddressMap address)
{
  typedef typename boost::property_traits<ConstAddressMap>::value_type
    value_type;
  typedef typename boost::property_traits<ConstAddressMap>::key_type key_type;
  key_type fred = "Fred";
  key_type joe = "Joe";
  value_type freds_address = get(address, fred);
  value_type joes_address = get(address, joe);
  
  std::cout << fred << ": " << freds_address << "\n"
	    << joe  << ": " << joes_address  << "\n";
}
int
main()
{
  std::map<std::string, std::string> name2address;
  boost::const_associative_property_map< std::map<std::string, std::string> >
    address_map(name2address);
  name2address.insert(make_pair(std::string("Fred"), 
				std::string("710 West 13th Street")));
  name2address.insert(make_pair(std::string("Joe"), 
				std::string("710 West 13th Street")));
  display(address_map);
  
  return EXIT_SUCCESS;
}

Where Defined

boost/property_map/property_map.hpp

Model Of

Lvalue Property Map

Template Parameters

ParameterDescriptionDefault
Уникальный парассоциативный контейнер Должна быть моделью обоих. Парный ассоциативный контейнериУникальный ассоциативный контейнер.  

Members

In addition to the methods and functions required by Lvalue Property Map, this class has the following members.


property_traits<const_associative_property_map>::value_type
This is the same type as UniquePairAssociativeContainer::data_type.
const_associative_property_map()
Default Constructor.
const_associative_property_map(const UniquePairAssociativeContainer& c)
Constructor.
const data_type& operator[](const key_type& k) const
The operator bracket for property access. The key_type and data_type types are from the typedefs inside of UniquePairAssociativeContainer.

Non-Member functions


  template <typename UniquePairAssociativeContainer>
  const_associative_property_map<UniquePairAssociativeContainer>
  make_assoc_property_map(const UniquePairAssociativeContainer& c);
A function for conveniently creating an associative property map.


Copyright © 2002Джереми Сик, Университет Индианыjsiek@osl.iu.edu]
Ли-Куан Ли, Университет Индианыllee1@osl.iu.edu]
Эндрю Лумсдейн, Университет Индианыlums@osl.iu.edu

Статья Constant Associative Property Map Adaptor раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:46:50/0.0033121109008789/0