Customizing the C++98 Mapping

Ice for C++ allows you to map Slice strings, sequences and dictionaries to your own C++ types, through the cpp:type and cpp:view-type metadata directives. 

When you map a Slice type to a C++ type from the standard library type, Ice is able to marshal and unmarshal this type without your help. For example, if you map a sequence<string> to a std::list<std::wstring>, Ice knows exactly what to do. However, if you select a class or template outside the standard C++ library, such as your own C++ template, you usually need to tell Ice how to marshal and unmarshal this type.

The following pages describe the set of classes and templates that Ice uses for marshaling and unmarshaling, and how to plug-in your own C++ types into this framework.