Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56332 - in sandbox/explore: boost boost/explore libs/explore/doc
From: jeff_at_[hidden]
Date: 2009-09-20 18:52:56


Author: jefffaust
Date: 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
New Revision: 56332
URL: http://svn.boost.org/trac/boost/changeset/56332

Log:
Change from reading boost coding guidelines.
Text files modified:
   sandbox/explore/boost/explore.hpp | 3
   sandbox/explore/boost/explore/boost_array.hpp | 10 +
   sandbox/explore/boost/explore/container_stream_state.hpp | 173 +++++++++++++++++++++++++++++----------
   sandbox/explore/boost/explore/deque.hpp | 9 +
   sandbox/explore/boost/explore/is_assoc_iter.hpp | 21 ++--
   sandbox/explore/boost/explore/iterator_range.hpp | 27 ++++-
   sandbox/explore/boost/explore/list.hpp | 9 +
   sandbox/explore/boost/explore/manipulators.hpp | 159 +++++++++++++++++++++++++-----------
   sandbox/explore/boost/explore/map.hpp | 23 +++-
   sandbox/explore/boost/explore/pair.hpp | 13 ++
   sandbox/explore/boost/explore/set.hpp | 19 +++-
   sandbox/explore/boost/explore/state_saver.hpp | 14 +-
   sandbox/explore/boost/explore/stream_container.hpp | 25 ++++-
   sandbox/explore/boost/explore/stream_state.hpp | 33 ++++---
   sandbox/explore/boost/explore/stream_value.hpp | 59 ++++++++++---
   sandbox/explore/boost/explore/vector.hpp | 9 +
   sandbox/explore/libs/explore/doc/custom_containers.qbk | 2
   sandbox/explore/libs/explore/doc/custom_delimeters.qbk | 6
   sandbox/explore/libs/explore/doc/dependencies_platforms.qbk | 2
   sandbox/explore/libs/explore/doc/design.qbk | 4
   sandbox/explore/libs/explore/doc/explore.qbk | 12 +-
   sandbox/explore/libs/explore/doc/tutorial.qbk | 14 +-
   22 files changed, 444 insertions(+), 202 deletions(-)

Modified: sandbox/explore/boost/explore.hpp
==============================================================================
--- sandbox/explore/boost/explore.hpp (original)
+++ sandbox/explore/boost/explore.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// explore.hpp -- conviencence header
+// explore.hpp -- convenience header
 //
 // Copyright (C) 2007, Jeff Garland
 // Copyright (C) 2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #include <boost/explore/iterator_range.hpp>
 #include <boost/explore/vector.hpp>

Modified: sandbox/explore/boost/explore/boost_array.hpp
==============================================================================
--- sandbox/explore/boost/explore/boost_array.hpp (original)
+++ sandbox/explore/boost/explore/boost_array.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// list.hpp - container streaming.
+// boost_array.hpp - container streaming for boost::array
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_ARRAY_H
 #define BOOST_EXPLORE_ARRAY_H
@@ -16,12 +17,13 @@
 
 namespace boost
 {
- // stream boost::array<T>
     template<typename Elem, typename Tr, typename T, std::size_t N>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const boost::array<T, N>& a)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const boost::array<T, N>& a)
     {
         return boost::explore::stream_container(ostr, a.begin(), a.end());
     }
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/explore/boost/explore/container_stream_state.hpp
==============================================================================
--- sandbox/explore/boost/explore/container_stream_state.hpp (original)
+++ sandbox/explore/boost/explore/container_stream_state.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -6,6 +6,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_CONTAINER_STREAM_STATE_H
 #define BOOST_EXPLORE_CONTAINER_STREAM_STATE_H
@@ -19,7 +20,7 @@
 #define BOOST_EXPLORE_INIT_STRING(name, str) \
 template<typename charType> std::basic_string<charType> init_##name(); \
 template<> std::basic_string<char> init_##name<char>() { return (str); } \
-template<> std::basic_string<wchar_t> init_##name<wchar_t>() { return L##str; }
+template<> std::basic_string<wchar_t> init_##name<wchar_t>() {return L##str;}
 
 namespace boost { namespace explore
 {
@@ -39,7 +40,7 @@
         const T& value_at(const std::vector<T>& c, size_t level)
         {
             // return the highest item if it does not exist at the given index
- return c[std::min(level, c.size() - 1)];
+ return c[(std::min)(level, c.size() - 1)];
         }
 
         // write
@@ -55,11 +56,12 @@
         }
     }
 
- // state not dependent on character type
+ // Additional stream state for containers, independent of char type
     struct container_common_stream_state
     {
         container_common_stream_state(const std::ios_base* stream)
- : m_level(0), m_depth(0), m_cols(1), m_itemwidth(1), m_quotestrings(false)
+ : m_level(0), m_depth(0), m_cols(1), m_item_width(1),
+ m_quote_strings(false)
         {
         }
 
@@ -70,28 +72,63 @@
             return prev;
         }
 
- void level_up() { ++m_level; }
- void level_down() { --m_level; }
- size_t level() const { return m_level; }
+ void level_up()
+ {
+ ++m_level;
+ }
+
+ void level_down()
+ {
+ --m_level;
+ }
+
+ size_t level() const
+ {
+ return m_level;
+ }
+
+ std::size_t depth() const
+ {
+ return m_depth;
+ }
 
- std::size_t depth() const { return m_depth; }
+ std::size_t cols() const
+ {
+ return at(m_cols);
+ }
 
- std::size_t cols() const { return at(m_cols); }
- void set_cols(std::size_t cols) { at(m_cols) = cols; }
+ void set_cols(std::size_t cols)
+ {
+ at(m_cols) = cols;
+ }
 
- std::size_t itemwidth() const { return at(m_itemwidth); }
- void set_itemwidth(std::size_t iw) { at(m_itemwidth) = iw; }
+ std::size_t item_width() const
+ {
+ return at(m_item_width);
+ }
 
- bool quote_strings() const { return m_quotestrings; }
- void set_quote_strings(bool qs) { m_quotestrings = qs; }
+ void set_item_width(std::size_t iw)
+ {
+ at(m_item_width) = iw;
+ }
+
+ bool quote_strings() const
+ {
+ return m_quote_strings;
+ }
+
+ void set_quote_strings(bool qs)
+ {
+ m_quote_strings = qs;
+ }
 
         void swap(container_common_stream_state& other)
         {
             std::swap(m_level, other.m_level);
             std::swap(m_depth, other.m_depth);
             std::swap(m_cols, other.m_cols);
- std::swap(m_itemwidth, other.m_itemwidth);
- std::swap(m_quotestrings, other.m_quotestrings);
+ std::swap(m_item_width, other.m_item_width);
+ std::swap(m_quote_strings, other.m_quote_strings);
         }
 
         bool operator==(const container_common_stream_state& other) const
@@ -99,14 +136,14 @@
             return other.m_level == m_level &&
                    other.m_depth == m_depth &&
                    other.m_cols == m_cols &&
- other.m_itemwidth == m_itemwidth &&
- other.m_quotestrings == m_quotestrings;
+ other.m_item_width == m_item_width &&
+ other.m_quote_strings == m_quote_strings;
         }
 
    private:
         friend struct detail::increment_depth;
 
- typedef std::vector<std::size_t, std::allocator<std::size_t> > size_cont_typ;
+ typedef std::vector<std::size_t> size_cont_typ;
 
         // read
         template<typename T>
@@ -128,12 +165,12 @@
         std::size_t m_depth;
 
         size_cont_typ m_cols;
- size_cont_typ m_itemwidth;
+ size_cont_typ m_item_width;
 
- bool m_quotestrings;
+ bool m_quote_strings;
     };
 
- // A simple collection of additional stream state
+ // Additional stream state for containers, dependent on char type
     template<typename Elem>
     struct container_stream_state
     {
@@ -155,26 +192,73 @@
             init(m_separator, detail::init_separator<El>());
             init(m_start, detail::init_start<El>());
             init(m_end, detail::init_end<El>());
- init(m_assoc_item_separator, detail::init_assoc_item_separator<El>());
+ init(m_assoc_item_separator,
+ detail::init_assoc_item_separator<El>());
             init(m_assoc_item_start, detail::init_assoc_item_start<El>());
             init(m_assoc_item_end, detail::init_assoc_item_end<El>());
         }
 
         // read
- const str_typ& separator() const { return at(m_separator); }
- const str_typ& start(std::size_t index = 0) const { return at(m_start); }
- const str_typ& end() const { return at(m_end); }
- const str_typ& assoc_item_separator() const { return at(m_assoc_item_separator); }
- const str_typ& assoc_item_start() const { return at(m_assoc_item_start); }
- const str_typ& assoc_item_end() const { return at(m_assoc_item_end); }
+ const str_typ& separator() const
+ {
+ return at(m_separator);
+ }
+
+ const str_typ& start(std::size_t index = 0) const
+ {
+ return at(m_start);
+ }
+
+ const str_typ& end() const
+ {
+ return at(m_end);
+ }
+
+ const str_typ& assoc_item_separator() const
+ {
+ return at(m_assoc_item_separator);
+ }
+
+ const str_typ& assoc_item_start() const
+ {
+ return at(m_assoc_item_start);
+ }
+
+ const str_typ& assoc_item_end() const
+ {
+ return at(m_assoc_item_end);
+ }
 
         // write
- void set_separator(const str_typ& str) { at(m_separator) = str; }
- void set_start(const str_typ& str) { at(m_start) = str; }
- void set_end(const str_typ& str) { at(m_end) = str; }
- void set_assoc_item_separator(const str_typ& str) { at(m_assoc_item_separator) = str; }
- void set_assoc_item_start(const str_typ& str) { at(m_assoc_item_start) = str; }
- void set_assoc_item_end(const str_typ& str) { at(m_assoc_item_end) = str; }
+ void set_separator(const str_typ& str)
+ {
+ at(m_separator) = str;
+ }
+
+ void set_start(const str_typ& str)
+ {
+ at(m_start) = str;
+ }
+
+ void set_end(const str_typ& str)
+ {
+ at(m_end) = str;
+ }
+
+ void set_assoc_item_separator(const str_typ& str)
+ {
+ at(m_assoc_item_separator) = str;
+ }
+
+ void set_assoc_item_start(const str_typ& str)
+ {
+ at(m_assoc_item_start) = str;
+ }
+
+ void set_assoc_item_end(const str_typ& str)
+ {
+ at(m_assoc_item_end) = str;
+ }
 
         void swap(container_stream_state<Elem>& other)
         {
@@ -199,6 +283,7 @@
         }
 
     private:
+ // access associated common (non-char type dependent) state
         container_common_stream_state* common()
         {
             return get_stream_state<container_common_stream_state>(*m_stream);
@@ -214,15 +299,6 @@
             return common()->level();
         }
 
- str_cont_typ m_separator;
- str_cont_typ m_start;
- str_cont_typ m_end;
- str_cont_typ m_assoc_item_separator;
- str_cont_typ m_assoc_item_start;
- str_cont_typ m_assoc_item_end;
-
- std::ios_base* m_stream;
-
         template<typename T>
         void init(str_cont_typ& c, const T& val)
         {
@@ -245,6 +321,15 @@
             assert(common()->depth() <= level());
             return detail::value_at(c, level());
         }
+
+ str_cont_typ m_separator;
+ str_cont_typ m_start;
+ str_cont_typ m_end;
+ str_cont_typ m_assoc_item_separator;
+ str_cont_typ m_assoc_item_start;
+ str_cont_typ m_assoc_item_end;
+
+ std::ios_base* m_stream;
     };
 }}
 

Modified: sandbox/explore/boost/explore/deque.hpp
==============================================================================
--- sandbox/explore/boost/explore/deque.hpp (original)
+++ sandbox/explore/boost/explore/deque.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// deque.hpp - container streaming.
+// deque.hpp - container streaming for std::deque
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_DEQUE_H
 #define BOOST_EXPLORE_DEQUE_H
@@ -17,10 +18,12 @@
 namespace std
 {
     template<typename Elem, typename Tr, typename T, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::deque<T, Allocator>& d)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::deque<T, Allocator>& d)
     {
         return boost::explore::stream_container(ostr, d.begin(), d.end());
     }
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/explore/boost/explore/is_assoc_iter.hpp
==============================================================================
--- sandbox/explore/boost/explore/is_assoc_iter.hpp (original)
+++ sandbox/explore/boost/explore/is_assoc_iter.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,13 +1,14 @@
 //
-// is_assoc_iter.hpp - meta function to see if an iterator is for an associative
-// container, which we assume is true if value_type is a pair.
+// is_assoc_iter.hpp - meta function to see if an iterator is for an
+// associative container, which we assume is true if
+// value_type is a pair.
 //
 // Copyright (c) 2007 Danny Havenith
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
-//
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef STREAM_IS_ASSOC_ITER_INCLUDED
 #define STREAM_IS_ASSOC_ITER_INCLUDED
@@ -28,11 +29,11 @@
             char member[100];
         };
 
- // crude SFINAE-and-sizeof. uses the fact that a pointer to a value type
- // is probably different from than that of false_type. Cleaning this up would take
- // some more LOC.
+ // crude SFINAE-and-sizeof. uses the fact that a pointer to a value
+ // type is probably different from than that of false_type. Cleaning
+ // this up would take some more LOC.
         template< typename T>
- typename T::value_type* has_value_func( const T &);
+ typename T::value_type* has_value_func(const T &);
 
         false_type has_value_func(...);
 
@@ -58,11 +59,13 @@
             boost::mpl::or_<
                 boost::is_same<
                     iterator_t,
- typename std::map<typename boost::remove_const<F>::type, S >::iterator
+ typename std::map<
+ typename boost::remove_const<F>::type, S >::iterator
>,
                 boost::is_same<
                     iterator_t,
- typename std::multimap<typename boost::remove_const<F>::type, S >::iterator
+ typename std::multimap<
+ typename boost::remove_const<F>::type, S >::iterator
> >
         {};
 

Modified: sandbox/explore/boost/explore/iterator_range.hpp
==============================================================================
--- sandbox/explore/boost/explore/iterator_range.hpp (original)
+++ sandbox/explore/boost/explore/iterator_range.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -6,6 +6,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_ITERATOR_RANGE_H
 #define BOOST_EXPLORE_ITERATOR_RANGE_H
@@ -18,14 +19,20 @@
 
 namespace boost { namespace explore
 {
- // To work around some problems with overriding for operator<< for boost::iterator_range
- // there already exists such an operator that does not do what we want.
+ // To work around some problems with overriding for operator<< for
+ // boost::iterator_rangethere already exists such an operator that
+ // does not do what we want.
     template<typename T>
     struct iterator_range_wrapper
     {
- iterator_range_wrapper(const boost::iterator_range<T>& ir) : t(ir) {}
+ iterator_range_wrapper(const boost::iterator_range<T>& ir)
+ : t(ir) {}
+
         boost::iterator_range<T> t;
- typedef typename boost::mpl::if_<typename is_assoc_iter<T>::type, stream_associative_value, stream_normal_value>::type stream_type;
+ typedef typename boost::mpl::if_<
+ typename is_assoc_iter<T>::type,
+ stream_associative_value,
+ stream_normal_value>::type stream_type;
     };
 
     template<typename T>
@@ -38,11 +45,13 @@
     inline iterator_range_wrapper<IteratorT>
     make_iterator_range(IteratorT Begin, IteratorT End)
     {
- return iterator_range_wrapper<IteratorT>(boost::make_iterator_range(Begin, End));
+ return iterator_range_wrapper<IteratorT>(
+ boost::make_iterator_range(Begin, End));
     }
 
     template< class ForwardRange >
- iterator_range_wrapper<BOOST_DEDUCED_TYPENAME boost::range_const_iterator<ForwardRange>::type>
+ iterator_range_wrapper<
+ BOOST_DEDUCED_TYPENAME boost::range_const_iterator<ForwardRange>::type>
         make_iterator_range(const ForwardRange& r)
     {
         return as_container(boost::make_iterator_range(r));
@@ -50,10 +59,12 @@
 
     // stream boost::iterator_range
     template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr,
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
         const iterator_range_wrapper<T>& r)
     {
- return stream_container(ostr, r.t.begin(), r.t.end(), typename iterator_range_wrapper<T>::stream_type());
+ return stream_container(ostr, r.t.begin(), r.t.end(),
+ typename iterator_range_wrapper<T>::stream_type());
     }
 }}
 

Modified: sandbox/explore/boost/explore/list.hpp
==============================================================================
--- sandbox/explore/boost/explore/list.hpp (original)
+++ sandbox/explore/boost/explore/list.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// list.hpp - container streaming.
+// list.hpp - container streaming for std::list
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_LIST_H
 #define BOOST_EXPLORE_LIST_H
@@ -17,10 +18,12 @@
 namespace std
 {
     template<typename Elem, typename Tr, typename T, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::list<T, Allocator>& l)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::list<T, Allocator>& l)
     {
         return boost::explore::stream_container(ostr, l.begin(), l.end());
     }
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/explore/boost/explore/manipulators.hpp
==============================================================================
--- sandbox/explore/boost/explore/manipulators.hpp (original)
+++ sandbox/explore/boost/explore/manipulators.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// stream_container.hpp - container streaming.
+// manipulators.hpp - stream manipulators for modifying how containers stream
 //
 // Copyright (C) 2007-2009, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef MANIPULATOR_INCLUDED
 #define MANIPULATOR_INCLUDED
@@ -44,8 +45,8 @@
             size_t m_prev_level;
         };
         
- // manipulator function wrapper for 1 char/wchar_t argument. When streamed, will run manipulator
- // function with argument.
+ // manipulator function wrapper for 1 char/wchar_t argument. When
+ // streamed, will run manipulator function with argument.
         template<typename T>
         struct manipfunc
         {
@@ -60,7 +61,9 @@
 
         // stream manipfunc
         template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const manipfunc<T>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const manipfunc<T>& manip)
         {
             typedef typename boost::remove_const<
                         typename boost::remove_reference<
@@ -75,14 +78,18 @@
         }
         
         template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const manipfunc<std::size_t>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const manipfunc<std::size_t>& manip)
         {
             (*manip.pfun)(ostr, manip.arg);
             return ostr;
         }
         
         template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const manipfunc<bool>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const manipfunc<bool>& manip)
         {
             (*manip.pfun)(ostr, manip.arg);
             return ostr;
@@ -107,9 +114,13 @@
         };
 
         template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const handle_custom_stream& cs)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const handle_custom_stream& cs)
         {
- container_common_stream_state* state = explore::get_stream_state<container_common_stream_state>(ostr);
+ container_common_stream_state* state =
+ explore::get_stream_state<container_common_stream_state>(ostr);
+
             cs.m_state = state;
             if( state->depth() > 0 ) // only needed if nested
             {
@@ -123,59 +134,68 @@
         template<typename Elem>
         void separatorFn(std::ios_base& ostr, const Elem* sep)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_separator(sep);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_separator(sep);
         }
         
         // function ptr for start manipulator
         template<typename Elem>
         void startFn(std::ios_base& ostr, const Elem* start)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_start(start);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_start(start);
         }
         
         // function ptr for end manipulator
         template<typename Elem>
         void endFn(std::ios_base& ostr, const Elem* end)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_end(end);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_end(end);
         }
         
         // function ptr for associative separator manipulator
         template<typename Elem>
         void assoc_item_separatorFn(std::ios_base& ostr, const Elem* sep)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_item_separator(sep);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_assoc_item_separator(sep);
         }
         
         // function ptr for associative start manipulator
         template<typename Elem>
         void assoc_item_startFn(std::ios_base& ostr, const Elem* start)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_item_start(start);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_assoc_item_start(start);
         }
         
         // function ptr for associative end manipulator
         template<typename Elem>
         void assoc_item_endFn(std::ios_base& ostr, const Elem* end)
         {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_item_end(end);
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->set_assoc_item_end(end);
         }
 
         void levelFn(std::ios_base& ostr, std::size_t l)
         {
- explore::get_stream_state<container_common_stream_state>(ostr)->set_level(l);
+ explore::get_stream_state<container_common_stream_state>(ostr)
+ ->set_level(l);
         }
 
         // function ptr object for cols
         void setcolsFn(std::ios_base& ostr, std::size_t sz)
         {
- explore::get_stream_state<container_common_stream_state>(ostr)->set_cols(sz);
+ explore::get_stream_state<container_common_stream_state>(ostr)
+ ->set_cols(sz);
         }
         
         // function ptr object for item_width
         void setitemwidthFn(std::ios_base& ostr, std::size_t sz)
         {
- explore::get_stream_state<container_common_stream_state>(ostr)->set_itemwidth(sz);
+ explore::get_stream_state<container_common_stream_state>(ostr)
+ ->set_item_width(sz);
         }
     }
     
@@ -186,9 +206,11 @@
     }
     
     template<typename Elem, typename Tr>
- const std::basic_string<Elem>& get_separator(std::basic_ostream<Elem, Tr>& ostr)
+ const std::basic_string<Elem>& get_separator(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->separator();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->separator();
     }
     
     template<typename Elem>
@@ -198,9 +220,11 @@
     }
     
     template<typename Elem, typename Tr>
- const std::basic_string<Elem>& get_start(std::basic_ostream<Elem, Tr>& ostr)
+ const std::basic_string<Elem>& get_start(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->start();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->start();
     }
     
     template<typename Elem>
@@ -212,31 +236,38 @@
     template<typename Elem, typename Tr>
     const std::basic_string<Elem>& get_end(std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->end();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->end();
     }
     
     template<typename Elem>
     detail::manipfunc<const Elem*> assoc_item_separator(const Elem* sep)
     {
- return detail::manipfunc<const Elem*>(&detail::assoc_item_separatorFn, sep);
+ return detail::manipfunc<const Elem*>(
+ &detail::assoc_item_separatorFn, sep);
     }
     
     template<typename Elem, typename Tr>
- const std::basic_string<Elem>& get_assoc_item_separator(std::basic_ostream<Elem, Tr>& ostr)
+ const std::basic_string<Elem>& get_assoc_item_separator(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->assoc_item_separator();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->assoc_item_separator();
     }
     
     template<typename Elem>
     detail::manipfunc<const Elem*> assoc_item_start(const Elem* start)
     {
- return detail::manipfunc<const Elem*>(&detail::assoc_item_startFn, start);
+ return detail::manipfunc<const Elem*>(
+ &detail::assoc_item_startFn, start);
     }
     
     template<typename Elem, typename Tr>
- const std::basic_string<Elem>& get_assoc_item_start(std::basic_ostream<Elem, Tr>& ostr)
+ const std::basic_string<Elem>& get_assoc_item_start(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->assoc_item_start();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->assoc_item_start();
     }
     
     template<typename Elem>
@@ -246,9 +277,11 @@
     }
     
     template<typename Elem, typename Tr>
- const std::basic_string<Elem>& get_assoc_item_end(std::basic_ostream<Elem, Tr>& ostr)
+ const std::basic_string<Elem>& get_assoc_item_end(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_stream_state<Elem> >(ostr)->assoc_item_end();
+ return explore::get_stream_state<container_stream_state<Elem> >(ostr)
+ ->assoc_item_end();
     }
     
     detail::manipfunc<std::size_t> level(std::size_t l)
@@ -264,7 +297,8 @@
     template<typename Elem, typename Tr>
     std::size_t get_cols(std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_common_stream_state>(ostr)->get_cols();
+ return explore::get_stream_state<container_common_stream_state>(ostr)
+ ->cols();
     }
     
     detail::manipfunc<std::size_t> item_width(std::size_t sz)
@@ -275,31 +309,37 @@
     template<typename Elem, typename Tr>
     std::size_t get_item_width(std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_common_stream_state>(ostr)->itemwidth();
+ return explore::get_stream_state<container_common_stream_state>(ostr)
+ ->item_width();
     }
 
     std::ios_base& quote_strings(std::ios_base& ios)
         {
- get_stream_state<container_common_stream_state>(ios)->set_quote_strings(true);
+ get_stream_state<container_common_stream_state>(ios)
+ ->set_quote_strings(true);
             return ios;
         }
 
     std::ios_base& no_quote_strings(std::ios_base& ios)
         {
- get_stream_state<container_common_stream_state>(ios)->set_quote_strings(false);
+ get_stream_state<container_common_stream_state>(ios)
+ ->set_quote_strings(false);
             return ios;
         }
 
     template<typename Elem, typename Tr>
     bool get_quote_strings(std::basic_ostream<Elem, Tr>& ostr)
     {
- return explore::get_stream_state<container_common_stream_state>(ostr)->quote_strings();
+ return explore::get_stream_state<container_common_stream_state>(ostr)
+ ->quote_strings();
     }
      
     template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& format_normal(std::basic_ostream<Elem, Tr>& ostr)
+ std::basic_ostream<Elem, Tr>& format_normal(
+ std::basic_ostream<Elem, Tr>& ostr)
     {
- get_stream_state<container_stream_state<Elem> >(ostr)->template init<Elem>();
+ get_stream_state<container_stream_state<Elem> >(ostr)
+ ->template init<Elem>();
         return ostr;
     }
 
@@ -328,7 +368,9 @@
         
         
         template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const begin_end_manipulator<standard_tag,T>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const begin_end_manipulator<standard_tag,T>& manip)
         {
             startFn(ostr, manip.startVal_);
             endFn(ostr, manip.endVal_);
@@ -336,7 +378,9 @@
         }
         
         template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const begin_end_manipulator<assoc_tag,T>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const begin_end_manipulator<assoc_tag,T>& manip)
         {
             assoc_item_startFn(ostr, manip.startVal_);
             assoc_item_endFn(ostr, manip.endVal_);
@@ -345,17 +389,21 @@
     }
     
     template<typename Elem>
- detail::begin_end_manipulator<detail::standard_tag,const Elem*> begin_end(const Elem* start, const Elem* end)
+ detail::begin_end_manipulator<detail::standard_tag,const Elem*> begin_end(
+ const Elem* start, const Elem* end)
     {
         // todo: just use delimiters function and fetch seperator?
- return detail::begin_end_manipulator<detail::standard_tag,const Elem*>(start, end);
+ return detail::begin_end_manipulator<detail::standard_tag,const Elem*>(
+ start, end);
     }
     
     template<typename Elem>
- detail::begin_end_manipulator<detail::assoc_tag,const Elem*> assoc_item_begin_end(const Elem* start, const Elem* end)
+ detail::begin_end_manipulator<detail::assoc_tag,const Elem*>
+ assoc_item_begin_end(const Elem* start, const Elem* end)
     {
         // todo: just use delimiters function and fetch seperator?
- return detail::begin_end_manipulator<detail::assoc_tag,const Elem*>(start, end);
+ return detail::begin_end_manipulator<detail::assoc_tag,const Elem*>(
+ start, end);
     }
     
     namespace detail
@@ -374,7 +422,9 @@
         };
 
         template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const delimiters_manipulator<standard_tag,T>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const delimiters_manipulator<standard_tag,T>& manip)
         {
             startFn(ostr, manip.startVal_);
             separatorFn(ostr, manip.seperatorVal_);
@@ -383,7 +433,9 @@
         }
         
         template<typename Elem, typename Tr, typename T>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const delimiters_manipulator<assoc_tag,T>& manip)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const delimiters_manipulator<assoc_tag,T>& manip)
         {
             assoc_item_startFn(ostr, manip.startVal_);
             assoc_item_separatorFn(ostr, manip.seperatorVal_);
@@ -393,15 +445,24 @@
     }
     
     template<typename Elem>
- detail::delimiters_manipulator<detail::standard_tag,const Elem*> delimiters(const Elem* start, const Elem* seperator, const Elem* end)
+ detail::delimiters_manipulator<detail::standard_tag,const Elem*> delimiters(
+ const Elem* start,
+ const Elem* seperator,
+ const Elem* end)
     {
- return detail::delimiters_manipulator<detail::standard_tag,const Elem*>(start, seperator, end);
+ return detail::delimiters_manipulator<
+ detail::standard_tag, const Elem*>(start, seperator, end);
     }
     
     template<typename Elem>
- detail::delimiters_manipulator<detail::assoc_tag,const Elem*> assoc_item_delimiters(const Elem* start, const Elem* seperator, const Elem* end)
+ detail::delimiters_manipulator<detail::assoc_tag,const Elem*>
+ assoc_item_delimiters(
+ const Elem* start,
+ const Elem* seperator,
+ const Elem* end)
     {
- return detail::delimiters_manipulator<detail::assoc_tag,const Elem*>(start, seperator, end);
+ return detail::delimiters_manipulator<
+ detail::assoc_tag,const Elem*>(start, seperator, end);
     }
 }}
 

Modified: sandbox/explore/boost/explore/map.hpp
==============================================================================
--- sandbox/explore/boost/explore/map.hpp (original)
+++ sandbox/explore/boost/explore/map.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// map.hpp - container streaming.
+// map.hpp - container streaming for std::map and std::multimap
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_MAP_H
 #define BOOST_EXPLORE_MAP_H
@@ -16,18 +17,26 @@
 
 namespace std
 {
- template<typename Elem, typename Tr, typename K, typename T, typename Compare, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::map<K, T, Compare, Allocator>& m)
+ template<typename Elem, typename Tr, typename K, typename T,
+ typename Compare, typename Allocator>
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::map<K, T, Compare, Allocator>& m)
     {
         using namespace boost::explore;
- return stream_container(ostr, m.begin(), m.end(), stream_associative_value());
+ return stream_container(
+ ostr, m.begin(), m.end(), stream_associative_value());
     }
     
- template<typename Elem, typename Tr, typename K, typename T, typename Compare, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::multimap<K, T, Compare, Allocator>& m)
+ template<typename Elem, typename Tr, typename K, typename T,
+ typename Compare, typename Allocator>
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::multimap<K, T, Compare, Allocator>& m)
     {
         using namespace boost::explore;
- return stream_container(ostr, m.begin(), m.end(), stream_associative_value());
+ return stream_container(ostr, m.begin(), m.end(),
+ stream_associative_value());
     }
 }
 

Modified: sandbox/explore/boost/explore/pair.hpp
==============================================================================
--- sandbox/explore/boost/explore/pair.hpp (original)
+++ sandbox/explore/boost/explore/pair.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// pair.hpp - container streaming.
+// pair.hpp - container streaming for std::pair
 //
 // Copyright (C) 2007-2009, Jeffrey Faust
 // Copyright (C) 2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_PAIR_H
 #define BOOST_EXPLORE_PAIR_H
@@ -17,12 +18,16 @@
 namespace std
 {
     template<typename Elem, typename Tr, typename T1, typename T2>
- basic_ostream<Elem, Tr>& operator<<(basic_ostream<Elem, Tr>& ostr, const pair<T1, T2>& p)
+ basic_ostream<Elem, Tr>& operator<<(
+ basic_ostream<Elem, Tr>& ostr,
+ const pair<T1, T2>& p)
     {
         using namespace boost::explore;
 
- container_stream_state<Elem>* state = get_stream_state<container_stream_state<Elem> >(ostr);
- container_common_stream_state* common_state = get_stream_state<container_common_stream_state>(ostr);
+ container_stream_state<Elem>* state =
+ get_stream_state<container_stream_state<Elem> >(ostr);
+ container_common_stream_state* common_state =
+ get_stream_state<container_common_stream_state>(ostr);
         detail::increment_depth guard(common_state);
         ostr << state->start();
         stream_normal_value()(ostr, p.first, state, common_state);

Modified: sandbox/explore/boost/explore/set.hpp
==============================================================================
--- sandbox/explore/boost/explore/set.hpp (original)
+++ sandbox/explore/boost/explore/set.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// set.hpp - container streaming.
+// set.hpp - container streaming for std::set and std::multiset
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_SET_H
 #define BOOST_EXPLORE_SET_H
@@ -16,17 +17,23 @@
 
 namespace std
 {
- template<typename Elem, typename Tr, typename T, typename Compare, typename Alloc>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::set<T, Compare, Alloc>& s)
+ template<typename Elem, typename Tr, typename T,
+ typename Compare, typename Alloc>
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::set<T, Compare, Alloc>& s)
     {
         return boost::explore::stream_container(ostr, s.begin(), s.end());
     }
     
- template<typename Elem, typename Tr, typename T, typename Compare, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::multiset<T, Compare, Allocator>& s)
+ template<typename Elem, typename Tr, typename T,
+ typename Compare, typename Allocator>
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::multiset<T, Compare, Allocator>& s)
     {
         return boost::explore::stream_container(ostr, s.begin(), s.end());
     }
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/explore/boost/explore/state_saver.hpp
==============================================================================
--- sandbox/explore/boost/explore/state_saver.hpp (original)
+++ sandbox/explore/boost/explore/state_saver.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -6,9 +6,10 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
-// state_saver works like the boost I/O boost stream state saver, but on container
-// state values.
+// state_saver works like the boost I/O boost stream state saver, but on
+// container state values.
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_STATE_SAVER_H
 #define BOOST_EXPLORE_STATE_SAVER_H
@@ -24,10 +25,11 @@
         {
         public:
             explicit state_saver(std::ios_base& ostr)
- : m_state(get_stream_state<container_stream_state<Elem> >(ostr)),
- m_save_state(*m_state),
- m_common_state(get_stream_state<container_common_stream_state>(ostr)),
- m_save_common_state(*m_common_state), m_restored(false)
+ : m_state(get_stream_state<container_stream_state<Elem> >(ostr)),
+ m_save_state(*m_state),
+ m_common_state(
+ get_stream_state<container_common_stream_state>(ostr)),
+ m_save_common_state(*m_common_state), m_restored(false)
             {
             }
 

Modified: sandbox/explore/boost/explore/stream_container.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_container.hpp (original)
+++ sandbox/explore/boost/explore/stream_container.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// stream_container.hpp - container streaming.
+// stream_container.hpp - common code container streaming
 //
 // Copyright (C) 2007-2009, Jeffrey Faust
 // Copyright (C) 2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef STREAM_CONTAINER_INCLUDED
 #define STREAM_CONTAINER_INCLUDED
@@ -20,11 +21,15 @@
 namespace boost { namespace explore
 {
     template<typename Elem, typename Tr, typename FwdIter, typename F>
- std::basic_ostream<Elem, Tr>& stream_container(std::basic_ostream<Elem, Tr>& ostr, FwdIter first, FwdIter last, F f)
+ std::basic_ostream<Elem, Tr>& stream_container(
+ std::basic_ostream<Elem, Tr>& ostr,
+ FwdIter first, FwdIter last, F f)
     {
         // grab the extra data embedded in the stream object.
- container_stream_state<Elem>* state = explore::get_stream_state<container_stream_state<Elem> >(ostr);
- container_common_stream_state* common_state = explore::get_stream_state<container_common_stream_state>(ostr);
+ container_stream_state<Elem>* state =
+ explore::get_stream_state<container_stream_state<Elem> >(ostr);
+ container_common_stream_state* common_state =
+ explore::get_stream_state<container_common_stream_state>(ostr);
 
         // set the level based on the current recursive depth
         detail::increment_depth guard(common_state);
@@ -58,7 +63,9 @@
     }
 
     template<typename Elem, typename Tr, typename FwdIter>
- std::basic_ostream<Elem, Tr>& stream_container(std::basic_ostream<Elem, Tr>& ostr, FwdIter first, FwdIter last)
+ std::basic_ostream<Elem, Tr>& stream_container(
+ std::basic_ostream<Elem, Tr>& ostr,
+ FwdIter first, FwdIter last)
     {
         // redirect with "normal" streaming.
         return stream_container(ostr, first, last, stream_normal_value());
@@ -66,13 +73,17 @@
     
 # if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300)
     template<typename Elem, typename Tr, typename T, std::size_t size>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, T (&a)[size])
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ T (&a)[size])
     {
         return boost::explore::stream_container(ostr, &a[0], &a[size]);
     }
     
     template<typename Elem, typename Tr, std::size_t size>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const Elem* s)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const Elem* s)
     {
         return boost::explore::stream_container(ostr, &s[0], &s[strlen(s)]);
     }

Modified: sandbox/explore/boost/explore/stream_state.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_state.hpp (original)
+++ sandbox/explore/boost/explore/stream_state.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -8,6 +8,8 @@
 //
 // The single entry point, get_stream_state, wraps the arcane ios
 // interfaces xalloc, pword, and register_callback.
+//
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef EXPLOER_STREAM_STATE_INCLUDED
 #define EXPLOER_STREAM_STATE_INCLUDED
@@ -23,8 +25,8 @@
 
     namespace detail
     {
- // returns an index into the ios_base container of user-defined data. This will
- // create exactly one index per type T.
+ // returns an index into the ios_base container of user-defined data.
+ // This will create exactly one index per type T.
         template<typename T>
         int get_stream_state_index()
         {
@@ -34,7 +36,10 @@
 
         // callback for extra state events
         template<typename T>
- void extra_state_callback(std::ios_base::event e, std::ios_base& stream, int arg)
+ void extra_state_callback(
+ std::ios_base::event e,
+ std::ios_base& stream,
+ int arg)
         {
             if( arg == get_stream_state_index<T>() )
             {
@@ -46,12 +51,13 @@
                     break;
                 case std::ios_base::copyfmt_event:
                 {
- // format has been copied. Make an actual copy instead of using the same
- // pointer. Prevents deleting memory twice.
+ // format has been copied. Make an actual copy instead of
+ // using the same pointer. Prevents deleting memory twice.
                     T* state = get_stream_state<T>(stream);
 
- // first set to 0 in case allocation fails. Although copyfmt will have failed,
- // we at least won't crash when we won't delete the same memory twice
+ // first set to 0 in case allocation fails. Although
+ // copyfmt will have failed, we at least won't crash
+ // when we won't delete the same memory twice
                     stream.pword(arg) = 0;
                     stream.pword(arg) = new T(*state);
                     break;
@@ -63,10 +69,11 @@
         }
     }
 
- // returns state information stored in the stream for the given type. Will allocate
- // state data if needed and create == true. If create == false and the data does not
- // already exist, it will return 0.
- // T: the user-defined state class. Must be constructible, accepting a stream pointer.
+ // returns state information stored in the stream for the given type. Will
+ // allocate state data if needed and create == true. If create == false
+ // and the data does not already exist, it will return 0.
+ // T: the user-defined state class. Must be constructible, accepting a
+ // stream pointer.
     template<typename T>
     T* get_stream_state(std::ios_base& stream, bool create)
     {
@@ -77,8 +84,8 @@
         T*& state = reinterpret_cast<T*&>(stream.pword(index));
         if( !state && create )
         {
- // both creating a new T and registering the callback allocate memory. Use
- // auto_ptr to satisfy the strong exception guarantee.
+ // both creating a new T and registering the callback allocate
+ // memory. Use auto_ptr to satisfy the strong exception guarantee.
             std::auto_ptr<T> pt(new T(&stream));
             stream.register_callback(detail::extra_state_callback<T>, index);
             state = pt.release();

Modified: sandbox/explore/boost/explore/stream_value.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_value.hpp (original)
+++ sandbox/explore/boost/explore/stream_value.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,11 +1,13 @@
 //
-// stream_value.hpp - streaming function objects for different value types
+// stream_value.hpp - Used internally. Streaming function objects for
+// different value types
 //
 // Copyright (C) 2007-2009, Jeffrey Faust
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_STREAM_VALUE_H
 #define BOOST_EXPLORE_STREAM_VALUE_H
@@ -34,9 +36,14 @@
         template<typename T>
         struct value_holder_base
         {
- explicit value_holder_base(const T& t, bool quotestrings) : m_value(t), m_quotestrings(quotestrings) {}
+ explicit value_holder_base(const T& t, bool quote_strings)
+ : m_value(t),
+ m_quote_strings(quote_strings)
+ {
+ }
+
             const T& m_value;
- bool m_quotestrings;
+ bool m_quote_strings;
         };
 
         template<typename T, int S>
@@ -45,10 +52,15 @@
         template<typename T>
         struct value_holder<T, boost::false_type::value> : public value_holder_base<T>
         {
- explicit value_holder(const T& value, bool quotestrings) : value_holder_base<T>(value, quotestrings) {}
+ explicit value_holder(const T& value, bool quote_strings)
+ : value_holder_base<T>(value, quote_strings)
+ {
+ }
 
             template<typename Elem, typename Tr>
- friend std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const value_holder_base<T>& v)
+ friend std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const value_holder_base<T>& v)
             {
                 return ostr << v.m_value;
             }
@@ -57,12 +69,17 @@
         template<typename T>
         struct value_holder<T, boost::true_type::value> : public value_holder_base<T>
         {
- explicit value_holder(const T& value, bool quotestrings) : value_holder_base<T>(value, quotestrings) {}
+ explicit value_holder(const T& value, bool quote_strings)
+ : value_holder_base<T>(value, quote_strings)
+ {
+ }
 
             template<typename Elem, typename Tr>
- friend std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const value_holder_base<T>& v)
+ friend std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const value_holder_base<T>& v)
             {
- if( v.m_quotestrings )
+ if( v.m_quote_strings )
                 {
                     return ostr << "\"" << v.m_value << "\"";
                 }
@@ -74,7 +91,10 @@
         template<typename T>
         struct value : public value_holder<T, is_string<T>::value>
         {
- explicit value(const T& value, bool quotestrings) : value_holder<T, is_string<T>::value>(value, quotestrings) {}
+ explicit value(const T& value, bool quote_strings)
+ : value_holder<T, is_string<T>::value>(value, quote_strings)
+ {
+ }
         };
 
         template<typename Elem, typename Tr>
@@ -99,7 +119,11 @@
     struct stream_normal_value
     {
         template<typename Elem, typename Tr, typename T>
- void operator()(std::basic_ostream<Elem, Tr>& ostr, const T& val, container_stream_state<Elem>* state, container_common_stream_state* common_state)
+ void operator()(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const T& val,
+ container_stream_state<Elem>* state,
+ container_common_stream_state* common_state)
         {
             std::basic_stringstream<Elem, Tr> sstream;
 
@@ -110,7 +134,7 @@
             }
 
             // now width will correctly apply to the entire value
- ostr.width(common_state->itemwidth());
+ ostr.width(common_state->item_width());
             ostr << sstream.str();
         }
     };
@@ -119,7 +143,11 @@
     struct stream_associative_value
     {
         template<typename Elem, typename Tr, typename T>
- void operator()(std::basic_ostream<Elem, Tr>& ostr, const T& val, container_stream_state<Elem>* state, container_common_stream_state* common_state)
+ void operator()(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const T& val,
+ container_stream_state<Elem>* state,
+ container_common_stream_state* common_state)
         {
             std::basic_stringstream<Elem, Tr> sstream;
 
@@ -128,13 +156,14 @@
                 ostr.rdbuf(sstream.rdbuf());
                 const bool qs = common_state->quote_strings();
                 ostr << state->assoc_item_start()
- << detail::value<typename T::first_type>(val.first, qs) << state->assoc_item_separator()
- << detail::value<typename T::second_type>(val.second, qs)
+ << detail::value<typename T::first_type>(val.first, qs)
+ << state->assoc_item_separator()
+ << detail::value<typename T::second_type>(val.second, qs)
                      << state->assoc_item_end();
             }
 
             // now width will correctly apply to the entire value
- ostr.width(common_state->itemwidth());
+ ostr.width(common_state->item_width());
             ostr << sstream.str();
         }
     };

Modified: sandbox/explore/boost/explore/vector.hpp
==============================================================================
--- sandbox/explore/boost/explore/vector.hpp (original)
+++ sandbox/explore/boost/explore/vector.hpp 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -1,5 +1,5 @@
 //
-// vector.hpp - container streaming.
+// vector.hpp - container streaming for std::vector
 //
 // Copyright (C) 2007, Jeffrey Faust
 // Copyright (C) 2008-2009, Jared McIntyre
@@ -7,6 +7,7 @@
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 //
+// See http://www.boost.org/libs/explore for library home page.
 
 #ifndef BOOST_EXPLORE_VECTOR_H
 #define BOOST_EXPLORE_VECTOR_H
@@ -17,10 +18,12 @@
 namespace std
 {
     template<typename Elem, typename Tr, typename T, typename Allocator>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::vector<T, Allocator>& v)
+ std::basic_ostream<Elem, Tr>& operator<<(
+ std::basic_ostream<Elem, Tr>& ostr,
+ const std::vector<T, Allocator>& v)
     {
         return boost::explore::stream_container(ostr, v.begin(), v.end());
     }
 }
 
-#endif
\ No newline at end of file
+#endif

Modified: sandbox/explore/libs/explore/doc/custom_containers.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/custom_containers.qbk (original)
+++ sandbox/explore/libs/explore/doc/custom_containers.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -7,7 +7,7 @@
 
 [section:custom_containers Custom Containers]
 
-You can use explore with your custom containers, or third party containers. However, explore needs a little help in understanding these classes.
+You can use Boost.Explore with your custom containers, or third party containers. However, it needs a little help in understanding these classes.
 
 [heading Standard Container]
 

Modified: sandbox/explore/libs/explore/doc/custom_delimeters.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/custom_delimeters.qbk (original)
+++ sandbox/explore/libs/explore/doc/custom_delimeters.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -7,9 +7,9 @@
 
 [section:custom_delimeters Custom Delimiters]
 
-Explore provides the ability to change the strings used in the container streaming process through the use of several new stream manipulators.
+Boost.Explore provides the ability to change the strings used in the container streaming process through the use of several new stream manipulators.
 
-[table Explore Stream Manipulators
+[table Boost.Explore Stream Manipulators
     [[Manipulator] [Default][Description]]
     [[start(char*)] ['\['] [Changes the string output at the beginning of a container.]]
     [[end(char*)] ['\]'] [Changes the string output at the end of a container.]]
@@ -40,7 +40,7 @@
 
 There are several helper functions that will set multiple manipulators with one call.
 
-[table Explore Stream Manipulator Helpers
+[table Boost.Explore Stream Manipulator Helpers
     [[Manipulator] [Description]]
     [[begin_end(char* begin, char* end)] [Changes the string output of the beginning and end of a container.]]
     [[delimeters(char* begin, char* separator, char* end)] [Changes the string output of the beginning, eseparator, and end of a container.]]

Modified: sandbox/explore/libs/explore/doc/dependencies_platforms.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/dependencies_platforms.qbk (original)
+++ sandbox/explore/libs/explore/doc/dependencies_platforms.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -9,7 +9,7 @@
 
 [h2 Dependencies]
 
-The following libraries must be available in order to use Boost.explore
+The following libraries must be available in order to use Boost.Explore
 
 * mpl - various meta programming tools
 * utility - for enable_if

Modified: sandbox/explore/libs/explore/doc/design.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/design.qbk (original)
+++ sandbox/explore/libs/explore/doc/design.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -9,7 +9,7 @@
 
 [h2 Rationale]
 
-The explore library is intended primarily as a debugging tool although
+The Boost.Explore library is intended primarily as a debugging tool although
 in some cases it may prove sufficiently capable to provide output good
 enough for other applications.
 
@@ -17,7 +17,7 @@
 as possible reflecting good defaults while allowing more sophisticated
 options with a small amount of customization.
 * [*Support user defined types.] Since collections can support user
-defined types explore should be capable of printing containers
+defined types Boost.Explore should be capable of printing containers
 with thoes types.
 * [*Portability.] The library should work with a variety of compilers
 and platforms.

Modified: sandbox/explore/libs/explore/doc/explore.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/explore.qbk (original)
+++ sandbox/explore/libs/explore/doc/explore.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -5,7 +5,7 @@
  / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  /]
 
-[library Boost.explore
+[library Boost.Explore
     [quickbook 1.4]
     [copyright 2007 Jeff Garland, 2008-2009 Jared McIntyre]
     [purpose Library to output Collections]
@@ -25,12 +25,12 @@
 
 [/=============================================================================]
 
-Boost.explore is a cross-platform C++ library for printing of containers.
+Boost.Explore is a cross-platform C++ library for printing of containers.
 
 
 [heading Getting Started]
 
-Boost.explore is a library that provides for the output of data from containers
+Boost.Explore is a library that provides for the output of data from containers
 or ranges.
 
 The following are some simple usage examples:
@@ -68,9 +68,9 @@
    sa2[1] = "two";
    std::cout << sa2; // prints [one, two]
    
-The [link boost_explore.tutorial tutorial] shows more details on using explore.
+The [link boost_explore.tutorial tutorial] shows more details on using Boost.Explore.
 
-While explore is powerful and flexible, it is not infinitely flexible.
+While Boost.Explore is powerful and flexible, it is not infinitely flexible.
 The reasons for this are discussed in the [link boost_explore.design design]
 section. For very complex output custom methods or a template output system should
 be considered.
@@ -89,7 +89,7 @@
 * boost::array
 * boost::range
 
-[link boost_explore.tutorial.custom_containers Custom containers] can also be made to work with explore.
+[link boost_explore.tutorial.custom_containers Custom containers] can also be made to work with Boost.Explore.
 
 [heading Acknowledgements]
 

Modified: sandbox/explore/libs/explore/doc/tutorial.qbk
==============================================================================
--- sandbox/explore/libs/explore/doc/tutorial.qbk (original)
+++ sandbox/explore/libs/explore/doc/tutorial.qbk 2009-09-20 18:52:54 EDT (Sun, 20 Sep 2009)
@@ -11,13 +11,13 @@
 [heading Basic Container Printing]
 
 
-All of the explore library can be used by simply including the `"explore.hpp"`
+All of the Boost.Explore library can be used by simply including the `"explore.hpp"`
 header file.
 
   ``''''''``#include <boost/explore.hpp>
   ``''''''``using namespace boost::explore;
 
-However, this will pull in definitions of all the containers that Explore supports. To include only the definitions required for a
+However, this will pull in definitions of all the containers that Boost.Explore supports. To include only the definitions required for a
 specific container include each type's header file instead of `"explore.hpp"`.
 
   ``''''''``#include <boost/explore/vector.hpp>
@@ -54,7 +54,7 @@
 
 [heading C Style Arrays]
 
-C style arrays have a standard streaming format, however, when you include any explore header, including `"explore.hpp"` and
+C style arrays have a standard streaming format, however, when you include any Boost.Explore header, including `"explore.hpp"` and
 `"boost/explore/c_array.hpp"`, you override this default streaming format with the explore streaming format and all the abilities of it.
 
    int arr[3] = {1,2,3};
@@ -78,12 +78,12 @@
 
    [[1, first], [2, second], [3, third]]
 
-But this format doesn't describe the associative nature of the elements well. So, explore uses special delimeters for the associations within
+But this format doesn't describe the associative nature of the elements well. So, Boost.Explore uses special delimeters for the associations within
 associative containers, and the above code prints in a clearer format.
 
    [1:first, 2:second, 3:third]
 
-Currently, the only containers that explore recognizes as associative are:
+Currently, the only containers that Boost.Explore recognizes as associative are:
 
 * std::map
 * std::multimap
@@ -92,8 +92,8 @@
 
 [heading lexical_cast]
 
-Because explore works with streaming operators, boost::lexical_cast will work with the explore library to allow you to create strings with the
-printed output of explore for cases when you don't want to use streaming directly.
+Because Boost.Explore works with streaming operators, boost::lexical_cast will work with the explore library to allow you to create strings with the
+printed output of Explore for cases when you don't want to use streaming directly.
 
    std::vector<int> vi;
    vi.push_back(1);


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