Boost logo

Boost-Commit :

From: jefffaust_at_[hidden]
Date: 2007-05-28 20:56:28


Author: jefffaust
Date: 2007-05-28 20:56:28 EDT (Mon, 28 May 2007)
New Revision: 4345
URL: http://svn.boost.org/trac/boost/changeset/4345

Log:
Rearrange container_stream_state to be defined before first use.

Text files modified:
   sandbox/explore/boost/explore/stream_container.hpp | 65 ++++++++++++++++++++-------------------
   1 files changed, 34 insertions(+), 31 deletions(-)

Modified: sandbox/explore/boost/explore/stream_container.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_container.hpp (original)
+++ sandbox/explore/boost/explore/stream_container.hpp 2007-05-28 20:56:28 EDT (Mon, 28 May 2007)
@@ -34,7 +34,41 @@
         BOOST_EXPLORE_INIT_STRING(assoc_separator, ":")
         BOOST_EXPLORE_INIT_STRING(assoc_start, "")
         BOOST_EXPLORE_INIT_STRING(assoc_end, "")
+ }
+
+ // A simple collection of additional stream state
+ template<typename Elem, typename Tr>
+ struct container_stream_state
+ {
+ typedef std::basic_string<Elem, Tr> str_typ;
+ container_stream_state()
+ {
+ init<Elem>();
+ }
+
+ // is there an easier way to specialize between char and wchar_t?
+ // Concern: this is only specialized for char and wchar_t streams.
+ template<typename El>
+ void init()
+ {
+ separator = detail::init_separator<El>();
+ start = detail::init_start<El>();
+ end = detail::init_end<El>();
+ assoc_separator = detail::init_assoc_separator<El>();
+ assoc_start = detail::init_assoc_start<El>();
+ assoc_end = detail::init_assoc_end<El>();
+ }
+
+ str_typ separator;
+ str_typ start;
+ str_typ end;
+ str_typ assoc_separator;
+ str_typ assoc_start;
+ str_typ assoc_end;
+ };
 
+ namespace detail
+ {
         // manipulator function wrapper for 1 char/wchar_t argument. When streamed, will run manipulator
         // function with argument.
         template<typename Elem>
@@ -100,37 +134,6 @@
         }
     }
 
- // A simple collection of additional stream state
- template<typename Elem, typename Tr>
- struct container_stream_state
- {
- typedef std::basic_string<Elem, Tr> str_typ;
- container_stream_state()
- {
- init<Elem>();
- }
-
- // is there an easier way to specialize between char and wchar_t?
- // Concern: this is only specialized for char and wchar_t streams.
- template<typename El>
- void init()
- {
- separator = detail::init_separator<El>();
- start = detail::init_start<El>();
- end = detail::init_end<El>();
- assoc_separator = detail::init_assoc_separator<El>();
- assoc_start = detail::init_assoc_start<El>();
- assoc_end = detail::init_assoc_end<El>();
- }
-
- str_typ separator;
- str_typ start;
- str_typ end;
- str_typ assoc_separator;
- str_typ assoc_start;
- str_typ assoc_end;
- };
-
     struct stream_normal_value
     {
         template<typename Elem, typename Tr, typename T>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk