ITK  4.4.0
Insight Segmentation and Registration Toolkit
itkNumberToString.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __itkNumberToString_h
19 #define __itkNumberToString_h
20 
21 #include "double-conversion.h"
22 #include "itkMacro.h"
23 #include <string>
24 
25 namespace itk
26 {
42 template< typename TValueType>
44 {
45 public:
47  m_DoubleToStringConverter(double_conversion::DoubleToStringConverter::EcmaScriptConverter())
48  {
49  }
50  std::string operator() (TValueType val);
51 
52 private:
53  NumberToString & operator=(const NumberToString &); // not defined
54  const double_conversion::DoubleToStringConverter &m_DoubleToStringConverter;
55 };
56 
57 // declaration of specialization
58 template<> ITKCommon_EXPORT std::string NumberToString<double>::operator()(double val);
59 template<> ITKCommon_EXPORT std::string NumberToString<float>::operator()(float val);
60 
61 } // namespace itk
62 
63 #ifndef ITK_MANUAL_INSTANTIATION
64 #include "itkNumberToString.hxx"
65 #endif
66 #endif
67