// Copyright (c) 1997-2001 Freie Universitaet Berlin (Germany). // All rights reserved. // // This file is part of CGAL (www.cgal.org); you may redistribute it under // the terms of the Q Public License version 1.0. // See the file LICENSE.QPL distributed with CGAL. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $URL$ // $Id$ // // // Author(s) : Sven Schoenherr , Bernd Gaertner #include CGAL_BEGIN_NAMESPACE // Class implementation (continued) // ================================ // I/O // --- template < class Traits_ > std::ostream& operator << ( std::ostream& os, const Min_circle_2& min_circle) { using namespace std; typedef typename Min_circle_2::Point Point; typedef ostream_iterator Os_it; switch ( CGAL::get_mode( os)) { case CGAL::IO::PRETTY: os << endl; os << "CGAL::Min_circle_2( |P| = " << min_circle.number_of_points() << ", |S| = " << min_circle.number_of_support_points() << endl; os << " P = {" << endl; os << " "; copy( min_circle.points_begin(), min_circle.points_end(), Os_it( os, ",\n ")); os << "}" << endl; os << " S = {" << endl; os << " "; copy( min_circle.support_points_begin(), min_circle.support_points_end(), Os_it( os, ",\n ")); os << "}" << endl; os << " circle = " << min_circle.circle() << endl; os << ")" << endl; break; case CGAL::IO::ASCII: copy( min_circle.points_begin(), min_circle.points_end(), Os_it( os, "\n")); break; case CGAL::IO::BINARY: copy( min_circle.points_begin(), min_circle.points_end(), Os_it( os)); break; default: CGAL_optimisation_assertion_msg( false, "CGAL::get_mode( os) invalid!"); break; } return( os); } template < class Traits_ > std::istream& operator >> ( std::istream& is, CGAL::Min_circle_2& min_circle) { using namespace std; switch ( CGAL::get_mode( is)) { case CGAL::IO::PRETTY: cerr << endl; cerr << "Stream must be in ascii or binary mode" << endl; break; case CGAL::IO::ASCII: case CGAL::IO::BINARY: typedef typename CGAL::Min_circle_2::Point Point; typedef istream_iterator Is_it; min_circle.clear(); min_circle.insert( Is_it( is), Is_it()); break; default: CGAL_optimisation_assertion_msg( false, "CGAL::IO::mode invalid!"); break; } return( is); } CGAL_END_NAMESPACE // ===== EOF ==================================================================