about summary refs log tree commit diff
path: root/boost/format/internals.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/format/internals.hpp')
-rw-r--r--boost/format/internals.hpp48
1 files changed, 23 insertions, 25 deletions
diff --git a/boost/format/internals.hpp b/boost/format/internals.hpp
index 52448b731c2f..d25eb4c864c4 100644
--- a/boost/format/internals.hpp
+++ b/boost/format/internals.hpp
@@ -33,22 +33,21 @@ namespace detail {
 // --------------
 // set of params that define the format state of a stream
 
-template<class Ch, class Tr> 
 struct stream_format_state 
 {
-  typedef BOOST_IO_STD basic_ios<Ch, Tr>   basic_ios;
+  typedef std::ios   basic_ios;
 
   std::streamsize width_;
   std::streamsize precision_;
-  Ch fill_; 
-  std::ios_base::fmtflags flags_;
+  char fill_; 
+  std::ios::fmtflags flags_;
 
-  stream_format_state()       : width_(-1), precision_(-1), fill_(0), flags_(std::ios_base::dec)  {}
+  stream_format_state()       : width_(-1), precision_(-1), fill_(0), flags_(std::ios::dec)  {}
   stream_format_state(basic_ios& os)                  {set_by_stream(os); }
 
   void apply_on(basic_ios & os) const;                //- applies format_state to the stream
   template<class T> void apply_manip(T manipulator)   //- modifies state by applying manipulator.
-       { apply_manip_body<Ch, Tr, T>( *this, manipulator) ; }
+       { apply_manip_body<T>( *this, manipulator) ; }
   void reset();                                       //- sets to default state.
   void set_by_stream(const basic_ios& os);            //- sets to os's state.
 };  
@@ -58,7 +57,6 @@ struct stream_format_state
 // --------------
 // format_item : stores all parameters that can be defined by directives in the format-string
 
-template<class Ch, class Tr>  
 struct format_item 
 {     
   enum pad_values { zeropad = 1, spacepad =2, centered=4, tabulation = 8 };
@@ -67,10 +65,10 @@ struct format_item
                     argN_tabulation = -2, // tabulation directive. (no argument read) 
                     argN_ignored    = -3  // ignored directive. (no argument read)
   };
-  typedef BOOST_IO_STD basic_ios<Ch, Tr>              basic_ios;
-  typedef detail::stream_format_state<Ch, Tr>         stream_format_state;
-  typedef std::basic_string<Ch, Tr>           string_t;
-  typedef BOOST_IO_STD basic_ostringstream<Ch, Tr>    internal_stream_t;
+  typedef BOOST_IO_STD ios              basic_ios;
+  typedef detail::stream_format_state         stream_format_state;
+  typedef std::string           string_t;
+  typedef BOOST_IO_STD ostringstream    internal_stream_t;
 
 
   int         argN_;           //- argument number (starts at 0,  eg : %1 => argN=0)
@@ -98,8 +96,8 @@ struct format_item
 // -----------------------------------------------------------
 
 // --- stream_format_state:: -------------------------------------------
-template<class Ch, class Tr> inline
-void stream_format_state<Ch,Tr> ::apply_on(basic_ios & os) const
+inline
+void stream_format_state::apply_on(basic_ios & os) const
   // set the state of this stream according to our params
 {
       if(width_ != -1)
@@ -111,8 +109,8 @@ void stream_format_state<Ch,Tr> ::apply_on(basic_ios & os) const
       os.flags(flags_);
 }
 
-template<class Ch, class Tr>      inline
-void stream_format_state<Ch,Tr> ::set_by_stream(const basic_ios& os) 
+inline
+void stream_format_state::set_by_stream(const basic_ios& os) 
   // set our params according to the state of this stream
 {
       flags_ = os.flags();
@@ -121,42 +119,42 @@ void stream_format_state<Ch,Tr> ::set_by_stream(const basic_ios& os)
       fill_ = os.fill();
 }
 
-template<class Ch, class Tr, class T>  inline
-void apply_manip_body( stream_format_state<Ch, Tr>& self,
+template<class T>  inline
+void apply_manip_body( stream_format_state& self,
                        T manipulator) 
   // modify our params according to the manipulator
 {
-      BOOST_IO_STD basic_stringstream<Ch, Tr>  ss;
+      BOOST_IO_STD stringstream  ss;
       self.apply_on( ss );
       ss << manipulator;
       self.set_by_stream( ss );
 }
 
-template<class Ch, class Tr> inline
-void stream_format_state<Ch,Tr> ::reset() 
+inline
+void stream_format_state::reset() 
   // set our params to standard's default state
 {
       width_=-1; precision_=-1; fill_=0; 
-      flags_ = std::ios_base::dec; 
+      flags_ = std::ios::dec; 
 }
 
 
 // --- format_items:: -------------------------------------------
-template<class Ch, class Tr> inline
-void format_item<Ch, Tr> ::compute_states() 
+inline
+void format_item::compute_states() 
   // reflect pad_scheme_   on  state_ and ref_state_ 
   //   because some pad_schemes has complex consequences on several state params.
 {
   if(pad_scheme_ & zeropad) 
   {
-    if(ref_state_.flags_ & std::ios_base::left) 
+    if(ref_state_.flags_ & std::ios::left) 
     {
       pad_scheme_ = pad_scheme_ & (~zeropad); // ignore zeropad in left alignment
     }
     else 
     { 
       ref_state_.fill_='0'; 
-      ref_state_.flags_ |= std::ios_base::internal;
+      ref_state_.flags_ |= std::ios::internal;
     }
   }
   state_ = ref_state_;