diff --git a/Modules/Core/Common/include/itkPrintHelper.h b/Modules/Core/Common/include/itkPrintHelper.h new file mode 100644 index 00000000000..43bac120153 --- /dev/null +++ b/Modules/Core/Common/include/itkPrintHelper.h @@ -0,0 +1,45 @@ +/*========================================================================= + * + * Copyright Insight Software Consortium + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0.txt + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *=========================================================================*/ + +#ifndef itkPrintHelper_h +#define itkPrintHelper_h + +#include +#include +#include + + +namespace itk +{ + +template< typename T > +std::ostream & operator<<( std::ostream & os, const std::vector< T >& v ) +{ + if( v.empty() ) + { + return os << "()"; + } + + os << "("; + std::copy( v.begin(), v.end() - 1, std::ostream_iterator< T >( os, ", " ) ); + return os << v.back() << ")"; +} + +} // end namespace itk + +#endif // itkPrintHelper_h diff --git a/Modules/IO/ImageBase/src/itkImageIOBase.cxx b/Modules/IO/ImageBase/src/itkImageIOBase.cxx index d811d2ac49a..78b0442a973 100644 --- a/Modules/IO/ImageBase/src/itkImageIOBase.cxx +++ b/Modules/IO/ImageBase/src/itkImageIOBase.cxx @@ -20,8 +20,8 @@ #include "itkImageRegionSplitterSlowDimension.h" #include #include "itksys/SystemTools.hxx" +#include "itkPrintHelper.h" -#include namespace itk { @@ -1131,22 +1131,6 @@ ::GetDefaultDirection(unsigned int k) const return axis; } -namespace -{ -template -std::ostream & operator<<( std::ostream & os, const std::vector& v) -{ - if ( v.empty() ) - { - return os << "( )"; - } - - os << "( "; - std::copy( v.begin(), v.end()-1, std::ostream_iterator(os, ", ") ); - return os << v.back() << " )"; -} -} - void ImageIOBase::PrintSelf(std::ostream & os, Indent indent) const { Superclass::PrintSelf(os, indent);