MapApi - logic for view mappings

The MapApi class allows a client application to duplicate the logic used by the server when interpreting and combining view mappings such as branch views, client views, and protections.

Each MapApi object represents a single mapping that is built by calling MapApi::Insert() to add new lines. A file can be translated through the mapping or tested for inclusion by calling MapApi::Translate(). Two MapApi objects may be combined into a single new MapApi object (for example, a client view and a protection table may be joined into a single mapping that represents all files in the client view that are included in the protection table) by calling MapApi::Join().