
* point2d.i (__str__): New method (extension). --- swilena/ChangeLog | 6 ++++++ swilena/point2d.i | 14 +++++++++++++- 2 files changed, 19 insertions(+), 1 deletions(-) diff --git a/swilena/ChangeLog b/swilena/ChangeLog index f9bf4a4..07d0481 100644 --- a/swilena/ChangeLog +++ b/swilena/ChangeLog @@ -1,3 +1,9 @@ +2009-05-27 Roland Levillain <roland@lrde.epita.fr> + + Add conversion to string to point2d. + + * point2d.i (__str__): New method (extension). + 2009-05-26 Roland Levillain <roland@lrde.epita.fr> Wrap iterators on mln::box2d. diff --git a/swilena/point2d.i b/swilena/point2d.i index 2d3df05..0bf9142 100644 --- a/swilena/point2d.i +++ b/swilena/point2d.i @@ -1,5 +1,5 @@ // -*- C++ -*- -// Copyright (C) 2008 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -90,4 +90,16 @@ int col() const { return $self->operator[](1); } } +%extend mln::point< mln::grid::square, mln::def::coord > +{ + char* __str__() const + { + std::ostringstream s; + s << *$self; + // FIXME: This is admittedly ugly; can't we use std::string as + // return type? See Swig's manual. + return strdup(s.str().c_str()); + } +} + %template(point2d) mln::point<mln::grid::square, mln::def::coord>; -- 1.6.1.2