The MultiPolygon Concept describes the requirements for a multi polygon type. All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.
The MultiPolygon Concept is defined as following:
range_value<...>::typemust fulfill the Polygon Concept
Besides the Concepts, which are checks on compile-time, there are rules that valid MultiPolygons must fulfill. See the Polygon Concept for more information on the rules a polygon (and also a multi polygon) must fulfill.