Hi all,
On 02/09/2013 01:38 PM, Barend Gehrels wrote:
Hi Mihis,
On 8-2-2013 8:57, Олег Михалёв wrote:
OK, it seems that I have found answer for this
question. In linestring_concept.hpp. it's mentioned that
besides
specialization of traits::tag and and lifting of Boost.Range
Random Access concepts custom linestring class
also must "implement std::back_insert_iterator either by
implementing push_back or by specializing
std::back_insert_iterator". The same if for the Ring Concept. I
really can't understand how to "specialize
std::back_insert_iterator" but it seems to me that this phrase
means the necessity of specialization of
structs resize, push_back and clear from
mutable_range.hpp, which are used by append and assign
algorithms.
I have not tested this solution yet but it seems to be right
taking in account that Boost.Polygon data structures
are adapted to Ring and Polygon Concepts in the same way.
Sorry for my late answer on this. Indeed the "mutable range"
should be used / specialized for these operations. So the
linestring itself can stay as it is.
In another mail you referred to the solution about legacy classes,
that was in cooperation with Mats who did the basics this
adaption, I contributed only small tests and additions there.
I'm sorry for the late answer -- this email slipped through,
unfortunately. As Barend said, I am working on adapting a legacy
data structure, and I am also documenting the procedure, and hoping
to contribute this to the official Boost.Geometry documentation. :)
The adaption is currently only non-mutating, but once the
non-mutating adaption process is documented and the documentation is
merged, I hope to extend to mutating algorithms as well.
Regards,
Mats
Regards, Barend
_______________________________________________
Geometry mailing list
Geometry@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/geometry