template<typename T>
class _TPolygon :
public std::vector< boost::geometry::model::polygon< _TPoint< T >, /*ClockWise*/false, /*Closed*/false > >
{
typedef boost::geometry::model::polygon< _TPoint< T >, /*ClockWise*/false, /*Closed*/false > polygon_type;
_TPolygon(std::vector< _TPoint< T > > vecpt)
{
emplace_back( polygon_type() );
static_cast< std::vector< _TPoint< T > >& >( back().outer() ) = std::move(vecpt);
}
// ...
}