Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55771 - in sandbox/explore: boost boost/explore libs/explore/doc/html libs/explore/doc/html/boost_explore libs/explore/doc/html/boost_explore/tutorial libs/explore/test
From: jmcintyre_at_[hidden]
Date: 2009-08-24 23:56:34


Author: jared
Date: 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
New Revision: 55771
URL: http://svn.boost.org/trac/boost/changeset/55771

Log:
Explore - Code re-org from BoostCon 08 along with the beginnings of some functionality that was requested at the meeting.
Added:
   sandbox/explore/boost/explore/deque.hpp (contents, props changed)
   sandbox/explore/boost/explore/list.hpp (contents, props changed)
   sandbox/explore/boost/explore/manipulators.hpp (contents, props changed)
   sandbox/explore/boost/explore/map.hpp (contents, props changed)
   sandbox/explore/boost/explore/pair.hpp (contents, props changed)
   sandbox/explore/boost/explore/set.hpp (contents, props changed)
   sandbox/explore/boost/explore/vector.hpp (contents, props changed)
Removed:
   sandbox/explore/libs/explore/test/basic_lg_format.hpp
Text files modified:
   sandbox/explore/boost/explore.hpp | 9 +
   sandbox/explore/boost/explore/container_stream_state.hpp | 4
   sandbox/explore/boost/explore/is_assoc_iter.hpp | 4
   sandbox/explore/boost/explore/iterator_range.hpp | 4
   sandbox/explore/boost/explore/stream_container.hpp | 261 ---------------------------------------
   sandbox/explore/boost/explore/stream_state.hpp | 4
   sandbox/explore/boost/explore/stream_value.hpp | 4
   sandbox/explore/libs/explore/doc/html/boost_explore/dependencies_platforms.html | 15 +-
   sandbox/explore/libs/explore/doc/html/boost_explore/design.html | 9
   sandbox/explore/libs/explore/doc/html/boost_explore/tutorial.html | 27 ++-
   sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_containers.html | 5
   sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_delimeters.html | 11
   sandbox/explore/libs/explore/doc/html/index.html | 22 +-
   sandbox/explore/libs/explore/test/boost_array.cpp | 8
   sandbox/explore/libs/explore/test/boost_range.cpp | 10
   sandbox/explore/libs/explore/test/boost_variant.cpp | 6
   sandbox/explore/libs/explore/test/c_array.cpp | 19 ++
   sandbox/explore/libs/explore/test/columnated.cpp | 10
   sandbox/explore/libs/explore/test/custom_format_simple.cpp | 45 +++++
   sandbox/explore/libs/explore/test/html_table_output.cpp | 9
   sandbox/explore/libs/explore/test/is_assoc_iter.cpp | 12
   sandbox/explore/libs/explore/test/multi_dim_test.cpp | 14 +-
   sandbox/explore/libs/explore/test/std_deque.cpp | 8
   sandbox/explore/libs/explore/test/std_list.cpp | 8
   sandbox/explore/libs/explore/test/std_map.cpp | 11
   sandbox/explore/libs/explore/test/std_pair.cpp | 6
   sandbox/explore/libs/explore/test/std_set.cpp | 12 +
   sandbox/explore/libs/explore/test/std_vector.cpp | 9
   sandbox/explore/libs/explore/test/user_defined_container.cpp | 2
   29 files changed, 195 insertions(+), 373 deletions(-)

Modified: sandbox/explore/boost/explore.hpp
==============================================================================
--- sandbox/explore/boost/explore.hpp (original)
+++ sandbox/explore/boost/explore.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -2,6 +2,7 @@
 // explore.hpp -- conviencence header
 //
 // Copyright (C) 2007, Jeff Garland
+// Copyright (C) 2009, Jared McIntyre
 //
 // 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)
@@ -9,3 +10,11 @@
 
 #include <boost/explore/stream_container.hpp>
 #include <boost/explore/iterator_range.hpp>
+
+#include <boost/explore/vector.hpp>
+#include <boost/explore/list.hpp>
+#include <boost/explore/deque.hpp>
+#include <boost/explore/set.hpp>
+#include <boost/explore/map.hpp>
+#include <boost/explore/pair.hpp>
+#include <boost/explore/boost_array.hpp>

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-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -19,7 +19,7 @@
 template<> std::basic_string<char> init_##name<char>() { return (str); } \
 template<> std::basic_string<wchar_t> init_##name<wchar_t>() { return L##str; }
 
-namespace explore
+namespace boost { namespace explore
 {
     namespace detail
     {
@@ -130,6 +130,6 @@
             return c[index];
         }
     };
-}
+}}
 
 #endif

Added: sandbox/explore/boost/explore/deque.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/deque.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,26 @@
+//
+// deque.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2008-2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_DEQUE_H
+#define BOOST_EXPLORE_DEQUE_H
+
+#include <deque>
+#include <boost/explore/stream_container.hpp>
+
+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)
+ {
+ return boost::explore::stream_container(ostr, d.begin(), d.end());
+ }
+}
+
+#endif
\ No newline at end of file

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-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -19,7 +19,7 @@
 #include <boost/type_traits/is_same.hpp>
 #include <boost/type_traits/remove_const.hpp>
 
-namespace explore
+namespace boost { namespace explore
 {
     namespace detail
     {
@@ -79,6 +79,6 @@
             detail::value_matches_map<T>,
             boost::mpl::false_
> {};
-}
+}}
 
 #endif

Modified: sandbox/explore/boost/explore/iterator_range.hpp
==============================================================================
--- sandbox/explore/boost/explore/iterator_range.hpp (original)
+++ sandbox/explore/boost/explore/iterator_range.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -16,7 +16,7 @@
 #include <boost/range/iterator_range.hpp>
 #include <boost/mpl/if.hpp>
 
-namespace explore
+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.
@@ -55,6 +55,6 @@
     {
         return stream_container(ostr, r.t.begin(), r.t.end(), typename iterator_range_wrapper<T>::stream_type());
     }
-}
+}}
 
 #endif

Added: sandbox/explore/boost/explore/list.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/list.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,26 @@
+//
+// list.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2008-2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_LIST_H
+#define BOOST_EXPLORE_LIST_H
+
+#include <list>
+#include <boost/explore/stream_container.hpp>
+
+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)
+ {
+ return boost::explore::stream_container(ostr, l.begin(), l.end());
+ }
+}
+
+#endif
\ No newline at end of file

Added: sandbox/explore/boost/explore/manipulators.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/manipulators.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,257 @@
+//
+// stream_container.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2008-2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef MANIPULATOR_INCLUDED
+#define MANIPULATOR_INCLUDED
+
+#include <boost/explore/stream_value.hpp>
+#include <boost/explore/stream_state.hpp>
+#include <boost/explore/container_stream_state.hpp>
+
+namespace boost { namespace explore
+{
+ namespace detail
+ {
+ template<typename Elem>
+ struct depth_guard
+ {
+ depth_guard(container_stream_state<Elem>* state)
+ : m_state(state)
+ {
+ ++m_state->m_depth;
+ }
+
+ ~depth_guard()
+ {
+ --m_state->m_depth;
+ }
+
+ private:
+ container_stream_state<Elem>* m_state;
+ };
+
+ // manipulator function wrapper for 1 char/wchar_t argument. When streamed, will run manipulator
+ // function with argument.
+ template<typename T>
+ struct manipfunc
+ {
+ manipfunc(void (*fun)(std::ios_base&, T, std::size_t), T val, std::size_t d)
+ : pfun(fun), arg(val), depth(d)
+ {
+ }
+
+ void (*pfun)(std::ios_base&, T, std::size_t);
+ T arg;
+ std::size_t depth;
+ };
+
+ // 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)
+ {
+ (*manip.pfun)(ostr, manip.arg, manip.depth);
+ return ostr;
+ }
+
+ // function ptr for separator manipulator
+ template<typename Elem>
+ void separatorFn(std::ios_base& ostr, const Elem* sep, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_separator(sep, depth);
+ }
+
+ // function ptr for start manipulator
+ template<typename Elem>
+ void startFn(std::ios_base& ostr, const Elem* start, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_start(start, depth);
+ }
+
+ // function ptr for end manipulator
+ template<typename Elem>
+ void endFn(std::ios_base& ostr, const Elem* end, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_end(end, depth);
+ }
+
+ // function ptr for associative separator manipulator
+ template<typename Elem>
+ void assoc_separatorFn(std::ios_base& ostr, const Elem* sep, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_separator(sep, depth);
+ }
+
+ // function ptr for associative start manipulator
+ template<typename Elem>
+ void assoc_startFn(std::ios_base& ostr, const Elem* start, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_start(start, depth);
+ }
+
+ // function ptr for associative end manipulator
+ template<typename Elem>
+ void assoc_endFn(std::ios_base& ostr, const Elem* end, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_end(end, depth);
+ }
+
+ // function ptr object for setrows
+ //template<typename Elem>
+ void setrowsFn(std::ios_base& ostr, std::size_t sz, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<char> >(ostr)->set_rows(sz, depth);
+ }
+
+ // function ptr object for setrows
+ //template<typename Elem>
+ void setitemwidthFn(std::ios_base& ostr, std::size_t sz, std::size_t depth)
+ {
+ explore::get_stream_state<container_stream_state<char> >(ostr)->set_itemwidth(sz, depth);
+ }
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> separator(const Elem* sep, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::separatorFn, sep, depth);
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> start(const Elem* Start, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::startFn, Start, depth);
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> end(const Elem* end, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::endFn, end, depth);
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> assoc_separator(const Elem* sep, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::assoc_separatorFn, sep, depth);
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> assoc_start(const Elem* start, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::assoc_startFn, start, depth);
+ }
+
+ // manipulator
+ template<typename Elem>
+ detail::manipfunc<const Elem*> assoc_end(const Elem* end, std::size_t depth = 0)
+ {
+ return detail::manipfunc<const Elem*>(&detail::assoc_endFn, end, depth);
+ }
+
+ detail::manipfunc<std::size_t> setrows(std::size_t sz, std::size_t depth = 0)
+ {
+ return detail::manipfunc<std::size_t>(detail::setrowsFn, sz, depth);
+ }
+
+ detail::manipfunc<std::size_t> setitemwidth(std::size_t sz, std::size_t depth = 0)
+ {
+ return detail::manipfunc<std::size_t>(detail::setitemwidthFn, sz, depth);
+ }
+
+ // manipulator
+ template<typename Elem, typename Tr>
+ std::basic_ostream<Elem, Tr>& format_normal(std::basic_ostream<Elem, Tr>& ostr)
+ {
+ get_stream_state<container_stream_state<Elem> >(ostr)->template init<Elem>();
+ return ostr;
+ }
+
+ // manipulator
+ template<typename Elem, typename Tr>
+ std::basic_ostream<Elem, Tr>& format_html_list(std::basic_ostream<Elem, Tr>& ostr)
+ {
+ return ostr
+ << start("<ul>\n <li>")
+ << separator("\n <li>")
+ << end("\n</ul>");
+ }
+
+ namespace detail
+ {
+ // begin_end manipulator
+ template<typename T>
+ struct begin_end_manipulator
+ {
+ begin_end_manipulator(T& startVal, T& endVal, std::size_t d)
+ :startVal_(startVal), endVal_(endVal), depth_(d)
+ {
+ }
+
+ T startVal_;
+ T endVal_;
+ std::size_t depth_;
+ };
+
+ template<typename Elem, typename Tr, typename T>
+ std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const begin_end_manipulator<T>& manip)
+ {
+ startFn(ostr, manip.startVal_, manip.depth_);
+ endFn(ostr, manip.endVal_, manip.depth_);
+ return ostr;
+ }
+ }
+
+ template<typename Elem>
+ detail::begin_end_manipulator<const Elem*> begin_end(const Elem* start, const Elem* end, std::size_t depth = 0)
+ {
+ // todo: just use delimiters function and fetch seperator?
+ return detail::begin_end_manipulator<const Elem*>(start, end, depth);
+ }
+
+
+ // manipulator
+ namespace detail
+ {
+ template<typename T>
+ struct delimiters_manipulator
+ {
+ delimiters_manipulator(T& startVal, T& seperatorVal, T& endVal, std::size_t d)
+ :startVal_(startVal), seperatorVal_(seperatorVal), endVal_(endVal), depth_(d)
+ {
+ }
+
+ T startVal_;
+ T seperatorVal_;
+ T endVal_;
+ std::size_t depth_;
+ };
+
+ template<typename Elem, typename Tr, typename T>
+ std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const delimiters_manipulator<T>& manip)
+ {
+ startFn(ostr, manip.startVal_, manip.depth_);
+ separatorFn(ostr, manip.seperatorVal_, manip.depth_);
+ endFn(ostr, manip.endVal_, manip.depth_);
+ return ostr;
+ }
+ }
+
+ template<typename Elem>
+ detail::delimiters_manipulator<const Elem*> delimiters(const Elem* start, const Elem* seperator, const Elem* end, std::size_t depth = 0)
+ {
+ return detail::delimiters_manipulator<const Elem*>(start, seperator, end, depth);
+ }
+}}
+
+#endif

Added: sandbox/explore/boost/explore/map.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/map.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,34 @@
+//
+// map.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_MAP_H
+#define BOOST_EXPLORE_MAP_H
+
+#include <map>
+#include <boost/explore/stream_container.hpp>
+
+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)
+ {
+ using namespace boost::explore;
+ 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)
+ {
+ using namespace boost::explore;
+ return stream_container(ostr, m.begin(), m.end(), stream_associative_value());
+ }
+}
+
+#endif
\ No newline at end of file

Added: sandbox/explore/boost/explore/pair.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/pair.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,30 @@
+//
+// pair.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_PAIR_H
+#define BOOST_EXPLORE_PAIR_H
+
+#include <utility>
+#include <boost/explore/stream_container.hpp>
+
+namespace std
+{
+ template<typename Elem, typename Tr, typename T1, typename T2>
+ std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::pair<T1, T2>& p)
+ {
+ using namespace boost::explore;
+ container_stream_state<Elem>* state = get_stream_state<container_stream_state<Elem> >(ostr);
+ detail::depth_guard<Elem> guard(state);
+ std::size_t depth = state->depth();
+ return ostr << state->start(depth) << p.first << state->separator(depth) << p.second << state->end(depth);
+ }
+}
+
+#endif
\ No newline at end of file

Added: sandbox/explore/boost/explore/set.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/set.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,32 @@
+//
+// set.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2008-2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_SET_H
+#define BOOST_EXPLORE_SET_H
+
+#include <set>
+#include <boost/explore/stream_container.hpp>
+
+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)
+ {
+ 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)
+ {
+ return boost::explore::stream_container(ostr, s.begin(), s.end());
+ }
+}
+
+#endif
\ No newline at end of file

Modified: sandbox/explore/boost/explore/stream_container.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_container.hpp (original)
+++ sandbox/explore/boost/explore/stream_container.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -2,6 +2,7 @@
 // stream_container.hpp - container streaming.
 //
 // Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2009, Jared McIntyre
 //
 // 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)
@@ -10,116 +11,14 @@
 #ifndef STREAM_CONTAINER_INCLUDED
 #define STREAM_CONTAINER_INCLUDED
 
-#include "stream_state.hpp"
-#include "stream_value.hpp"
-#include "container_stream_state.hpp"
+#include <boost/explore/manipulators.hpp>
 
 #include <ostream>
 #include <boost/functional/detail/container_fwd.hpp>
 #include <boost/array.hpp>
 
-namespace explore
+namespace boost { namespace explore
 {
- namespace detail
- {
- template<typename Elem>
- struct depth_guard
- {
- depth_guard(container_stream_state<Elem>* state)
- : m_state(state)
- {
- ++m_state->m_depth;
- }
-
- ~depth_guard()
- {
- --m_state->m_depth;
- }
-
- private:
- container_stream_state<Elem>* m_state;
- };
-
- // manipulator function wrapper for 1 char/wchar_t argument. When streamed, will run manipulator
- // function with argument.
- template<typename T>
- struct manipfunc
- {
- manipfunc(void (*fun)(std::ios_base&, T, std::size_t), T val, std::size_t d)
- : pfun(fun), arg(val), depth(d)
- {
- }
-
- void (*pfun)(std::ios_base&, T, std::size_t);
- T arg;
- std::size_t depth;
- };
-
- // 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)
- {
- (*manip.pfun)(ostr, manip.arg, manip.depth);
- return ostr;
- }
-
- // function ptr for separator manipulator
- template<typename Elem>
- void separatorFn(std::ios_base& ostr, const Elem* sep, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_separator(sep, depth);
- }
-
- // function ptr for start manipulator
- template<typename Elem>
- void startFn(std::ios_base& ostr, const Elem* start, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_start(start, depth);
- }
-
- // function ptr for end manipulator
- template<typename Elem>
- void endFn(std::ios_base& ostr, const Elem* end, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_end(end, depth);
- }
-
- // function ptr for associative separator manipulator
- template<typename Elem>
- void assoc_separatorFn(std::ios_base& ostr, const Elem* sep, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_separator(sep, depth);
- }
-
- // function ptr for associative start manipulator
- template<typename Elem>
- void assoc_startFn(std::ios_base& ostr, const Elem* start, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_start(start, depth);
- }
-
- // function ptr for associative end manipulator
- template<typename Elem>
- void assoc_endFn(std::ios_base& ostr, const Elem* end, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<Elem> >(ostr)->set_assoc_end(end, depth);
- }
-
- // function ptr object for setrows
- //template<typename Elem>
- void setrowsFn(std::ios_base& ostr, std::size_t sz, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<char> >(ostr)->set_rows(sz, depth);
- }
-
- // function ptr object for setrows
- //template<typename Elem>
- void setitemwidthFn(std::ios_base& ostr, std::size_t sz, std::size_t depth)
- {
- explore::get_stream_state<container_stream_state<char> >(ostr)->set_itemwidth(sz, depth);
- }
- }
-
     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)
     {
@@ -162,168 +61,20 @@
         // redirect with "normal" streaming.
         return stream_container(ostr, first, last, stream_normal_value());
     }
-}
-
-namespace std
-{
- // stream vector<T>
- 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)
- {
- return explore::stream_container(ostr, v.begin(), v.end());
- }
-
- // stream deque<T>
- 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)
- {
- return explore::stream_container(ostr, d.begin(), d.end());
- }
-
- // stream set<T>
- 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 explore::stream_container(ostr, s.begin(), s.end());
- }
-
- // stream multiset<T>
- 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 explore::stream_container(ostr, s.begin(), s.end());
- }
-
- // stream list<T>
- 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)
- {
- return explore::stream_container(ostr, l.begin(), l.end());
- }
-
- // stream pair<T1, T2>
- template<typename Elem, typename Tr, typename T1, typename T2>
- std::basic_ostream<Elem, Tr>& operator<<(std::basic_ostream<Elem, Tr>& ostr, const std::pair<T1, T2>& p)
- {
- using namespace explore;
- container_stream_state<Elem>* state = get_stream_state<container_stream_state<Elem> >(ostr);
- detail::depth_guard<Elem> guard(state);
- std::size_t depth = state->depth();
- return ostr << state->start(depth) << p.first << state->separator(depth) << p.second << state->end(depth);
- }
-
- // stream map<K, T>
- 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 explore;
- return stream_container(ostr, m.begin(), m.end(), stream_associative_value());
- }
-
- // stream multimap<K, T>
- 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 explore;
- return stream_container(ostr, m.begin(), m.end(), stream_associative_value());
- }
-}
-
-namespace explore
-{
+
 # 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])
     {
         return 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)
     {
         return stream_container(ostr, &s[0], &s[strlen(s)]);
     }
 # endif
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> separator(const Elem* sep, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::separatorFn, sep, depth);
- }
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> start(const Elem* Start, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::startFn, Start, depth);
- }
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> end(const Elem* end, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::endFn, end, depth);
- }
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> assoc_separator(const Elem* sep, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::assoc_separatorFn, sep, depth);
- }
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> assoc_start(const Elem* start, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::assoc_startFn, start, depth);
- }
-
- // manipulator
- template<typename Elem>
- detail::manipfunc<const Elem*> assoc_end(const Elem* end, std::size_t depth = 0)
- {
- return detail::manipfunc<const Elem*>(&detail::assoc_endFn, end, depth);
- }
-
- detail::manipfunc<std::size_t> setrows(std::size_t sz, std::size_t depth = 0)
- {
- return detail::manipfunc<std::size_t>(detail::setrowsFn, sz, depth);
- }
-
- detail::manipfunc<std::size_t> setitemwidth(std::size_t sz, std::size_t depth = 0)
- {
- return detail::manipfunc<std::size_t>(detail::setitemwidthFn, sz, depth);
- }
-
- // manipulator
- template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& format_normal(std::basic_ostream<Elem, Tr>& ostr)
- {
- get_stream_state<container_stream_state<Elem> >(ostr)->template init<Elem>();
- return ostr;
- }
-
- // manipulator
- template<typename Elem, typename Tr>
- std::basic_ostream<Elem, Tr>& format_html_list(std::basic_ostream<Elem, Tr>& ostr)
- {
- return ostr
- << start("<ul>\n <li>")
- << separator("\n <li>")
- << end("\n</ul>");
- }
-}
-
-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)
- {
- return explore::stream_container(ostr, a.begin(), a.end());
- }
-}
+}}
 
 #endif

Modified: sandbox/explore/boost/explore/stream_state.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_state.hpp (original)
+++ sandbox/explore/boost/explore/stream_state.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -15,7 +15,7 @@
 #include <ios>
 #include <memory>
 
-namespace explore
+namespace boost { namespace explore
 {
     // forward declaration for deletion callback
     template<typename T>
@@ -66,6 +66,6 @@
         }
         return state;
     }
-}
+}}
 
 #endif

Modified: sandbox/explore/boost/explore/stream_value.hpp
==============================================================================
--- sandbox/explore/boost/explore/stream_value.hpp (original)
+++ sandbox/explore/boost/explore/stream_value.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -14,7 +14,7 @@
 
 #include <ostream>
 
-namespace explore
+namespace boost { namespace explore
 {
     struct stream_normal_value
     {
@@ -35,6 +35,6 @@
             ostr << state->assoc_start() << val.first << state->assoc_separator() << val.second << state->assoc_end();
         }
     };
-}
+}}
 
 #endif

Added: sandbox/explore/boost/explore/vector.hpp
==============================================================================
--- (empty file)
+++ sandbox/explore/boost/explore/vector.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -0,0 +1,26 @@
+//
+// vector.hpp - container streaming.
+//
+// Copyright (C) 2007, Jeffrey Faust
+// Copyright (C) 2008-2009, Jared McIntyre
+//
+// 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)
+//
+
+#ifndef BOOST_EXPLORE_VECTOR_H
+#define BOOST_EXPLORE_VECTOR_H
+
+#include <vector>
+#include <boost/explore/stream_container.hpp>
+
+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)
+ {
+ return boost::explore::stream_container(ostr, v.begin(), v.end());
+ }
+}
+
+#endif
\ No newline at end of file

Modified: sandbox/explore/libs/explore/doc/html/boost_explore/dependencies_platforms.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/boost_explore/dependencies_platforms.html (original)
+++ sandbox/explore/libs/explore/doc/html/boost_explore/dependencies_platforms.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Dependencies and Platforms</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="Boost.explore">
 <link rel="up" href="../index.html" title="Boost.explore">
 <link rel="prev" href="tutorial/custom_containers.html" title="Custom Containers">
@@ -24,11 +24,12 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_explore.dependencies_platforms"></a><a href="dependencies_platforms.html" title="Dependencies and Platforms"> Dependencies and
- Platforms</a></h2></div></div></div>
+<a name="boost_explore.dependencies_platforms"></a><a class="link" href="dependencies_platforms.html" title="Dependencies and Platforms"> Dependencies and
+ Platforms</a>
+</h2></div></div></div>
 <a name="boost_explore.dependencies_platforms.dependencies"></a><h3>
-<a name="id976039"></a>
- Dependencies
+<a name="id535576"></a>
+ <a class="link" href="dependencies_platforms.html#boost_explore.dependencies_platforms.dependencies">Dependencies</a>
     </h3>
 <p>
       The following libraries must be available in order to use Boost.explore
@@ -51,8 +52,8 @@
       </li>
 </ul></div>
 <a name="boost_explore.dependencies_platforms.supported_platforms"></a><h3>
-<a name="id976090"></a>
- <a href="dependencies_platforms.html#boost_explore.dependencies_platforms.supported_platforms">Supported
+<a name="id535623"></a>
+ <a class="link" href="dependencies_platforms.html#boost_explore.dependencies_platforms.supported_platforms">Supported
       Platforms</a>
     </h3>
 <p>

Modified: sandbox/explore/libs/explore/doc/html/boost_explore/design.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/boost_explore/design.html (original)
+++ sandbox/explore/libs/explore/doc/html/boost_explore/design.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Design Notes</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="Boost.explore">
 <link rel="up" href="../index.html" title="Boost.explore">
 <link rel="prev" href="dependencies_platforms.html" title="Dependencies and Platforms">
@@ -23,10 +23,11 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_explore.design"></a> Design Notes</h2></div></div></div>
+<a name="boost_explore.design"></a><a class="link" href="design.html" title="Design Notes"> Design Notes</a>
+</h2></div></div></div>
 <a name="boost_explore.design.rationale"></a><h3>
-<a name="id976200"></a>
- Rationale
+<a name="id535715"></a>
+ <a class="link" href="design.html#boost_explore.design.rationale">Rationale</a>
     </h3>
 <p>
       The explore library is intended primarily as a debugging tool although in some

Modified: sandbox/explore/libs/explore/doc/html/boost_explore/tutorial.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/boost_explore/tutorial.html (original)
+++ sandbox/explore/libs/explore/doc/html/boost_explore/tutorial.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Tutorial</title>
 <link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../index.html" title="Boost.explore">
 <link rel="up" href="../index.html" title="Boost.explore">
 <link rel="prev" href="../index.html" title="Boost.explore">
@@ -24,7 +24,8 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="boost_explore.tutorial"></a> Tutorial</h2></div></div></div>
+<a name="boost_explore.tutorial"></a><a class="link" href="tutorial.html" title="Tutorial"> Tutorial</a>
+</h2></div></div></div>
 <div class="toc">
 <p><b>Table of Contents</b></p>
 <dl>
@@ -33,8 +34,8 @@
 </dl>
 </div>
 <a name="boost_explore.tutorial.basic_container_printing"></a><h4>
-<a name="id972463"></a>
- <a href="tutorial.html#boost_explore.tutorial.basic_container_printing">Basic Container
+<a name="id532304"></a>
+ <a class="link" href="tutorial.html#boost_explore.tutorial.basic_container_printing">Basic Container
       Printing</a>
     </h4>
 <p>
@@ -45,8 +46,8 @@
 <span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">explore</span><span class="special">;</span>
 </pre>
 <a name="boost_explore.tutorial.printing_of_contained_items"></a><h4>
-<a name="id972574"></a>
- <a href="tutorial.html#boost_explore.tutorial.printing_of_contained_items">Printing
+<a name="id532400"></a>
+ <a class="link" href="tutorial.html#boost_explore.tutorial.printing_of_contained_items">Printing
       of Contained Items</a>
     </h4>
 <p>
@@ -89,8 +90,8 @@
 <span class="special">[[</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">],</span> <span class="special">[</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">]]</span>
 </pre>
 <a name="boost_explore.tutorial.c_style_arrays"></a><h4>
-<a name="id973042"></a>
- C Style Arrays
+<a name="id532828"></a>
+ <a class="link" href="tutorial.html#boost_explore.tutorial.c_style_arrays">C Style Arrays</a>
     </h4>
 <p>
       C style arrays have a standard streaming format, however, when you include
@@ -108,8 +109,8 @@
 <span class="special">[</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">]</span>
 </pre>
 <a name="boost_explore.tutorial.associative_containers"></a><h4>
-<a name="id973210"></a>
- Associative Containers
+<a name="id532980"></a>
+ <a class="link" href="tutorial.html#boost_explore.tutorial.associative_containers">Associative Containers</a>
     </h4>
 <p>
       Associate containers are typically implemented using some form of pair-like
@@ -148,12 +149,12 @@
       </li>
 </ul></div>
 <p>
- Custom containers
+ <a class="link" href="tutorial/custom_containers.html" title="Custom Containers">Custom containers</a>
       can be handled as associative containers.
     </p>
 <a name="boost_explore.tutorial.lexical_cast"></a><h4>
-<a name="id973674"></a>
- lexical_cast
+<a name="id533404"></a>
+ <a class="link" href="tutorial.html#boost_explore.tutorial.lexical_cast">lexical_cast</a>
     </h4>
 <p>
       Because explore works with streaming operators, boost::lexical_cast will work

Modified: sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_containers.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_containers.html (original)
+++ sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_containers.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Custom Containers</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Boost.explore">
 <link rel="up" href="../tutorial.html" title="Tutorial">
 <link rel="prev" href="custom_delimeters.html" title="Custom Delimiters">
@@ -24,7 +24,8 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="boost_explore.tutorial.custom_containers"></a> Custom Containers</h3></div></div></div>
+<a name="boost_explore.tutorial.custom_containers"></a><a class="link" href="custom_containers.html" title="Custom Containers"> Custom Containers</a>
+</h3></div></div></div>
 <p>
         You can use explore with your custom containers, or third party containers.
         However, explore needs a little help in understanding these classes.

Modified: sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_delimeters.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_delimeters.html (original)
+++ sandbox/explore/libs/explore/doc/html/boost_explore/tutorial/custom_delimeters.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Custom Delimiters</title>
 <link rel="stylesheet" href="../../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="../../index.html" title="Boost.explore">
 <link rel="up" href="../tutorial.html" title="Tutorial">
 <link rel="prev" href="../tutorial.html" title="Tutorial">
@@ -24,13 +24,14 @@
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
-<a name="boost_explore.tutorial.custom_delimeters"></a> Custom Delimiters</h3></div></div></div>
+<a name="boost_explore.tutorial.custom_delimeters"></a><a class="link" href="custom_delimeters.html" title="Custom Delimiters"> Custom Delimiters</a>
+</h3></div></div></div>
 <p>
         Explore provides the ability to change the strings used in the container
         streaming process through the use of several new stream manipulators.
       </p>
 <div class="table">
-<a name="id973962"></a><p class="title"><b>Table 1. Explore Stream Manipulators</b></p>
+<a name="id533665"></a><p class="title"><b>Table 1. Explore Stream Manipulators</b></p>
 <div class="table-contents"><table class="table" summary="Explore Stream Manipulators">
 <colgroup>
 <col>
@@ -178,8 +179,8 @@
 <span class="special">&lt;</span><span class="number">1</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">3</span><span class="special">&gt;</span>
 </pre>
 <a name="boost_explore.tutorial.custom_delimeters.delimeters_by_level"></a><h5>
-<a name="id974421"></a>
- <a href="custom_delimeters.html#boost_explore.tutorial.custom_delimeters.delimeters_by_level">Delimeters
+<a name="id534097"></a>
+ <a class="link" href="custom_delimeters.html#boost_explore.tutorial.custom_delimeters.delimeters_by_level">Delimeters
         by Level</a>
       </h5>
 <p>

Modified: sandbox/explore/libs/explore/doc/html/index.html
==============================================================================
--- sandbox/explore/libs/explore/doc/html/index.html (original)
+++ sandbox/explore/libs/explore/doc/html/index.html 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -3,7 +3,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
 <title>Boost.explore</title>
 <link rel="stylesheet" href="boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.72.0">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
 <link rel="start" href="index.html" title="Boost.explore">
 <link rel="next" href="boost_explore/tutorial.html" title="Tutorial">
 </head>
@@ -24,7 +24,7 @@
 <a name="boost_explore"></a>Boost.explore</h2></div>
 <div><p class="copyright">Copyright © 2007 Jeff Garland, 2008 Jared McIntyre</p></div>
 <div><div class="legalnotice">
-<a name="id972422"></a><p>
+<a name="id532272"></a><p>
         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)
       </p>
@@ -47,8 +47,8 @@
     Boost.explore is a cross-platform C++ library for printing of containers.
   </p>
 <a name="boost_explore..getting_started"></a><h3>
-<a name="id976270"></a>
- Getting Started
+<a name="id535777"></a>
+ <a class="link" href="index.html#boost_explore..getting_started">Getting Started</a>
   </h3>
 <p>
     Boost.explore is a library that provides for the output of data from containers
@@ -92,18 +92,18 @@
 <span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">sa2</span><span class="special">;</span> <span class="comment">// prints [one, two]
 </span></pre>
 <p>
- The tutorial shows more details
+ The <a class="link" href="boost_explore/tutorial.html" title="Tutorial">tutorial</a> shows more details
     on using explore.
   </p>
 <p>
     While explore is powerful and flexible, it is not infinitely flexible. The reasons
- for this are discussed in the design
+ for this are discussed in the <a class="link" href="boost_explore/design.html" title="Design Notes">design</a>
     section.For very complex output custom methods or a template output system should
     be considered.
   </p>
 <a name="boost_explore..supported_containers"></a><h3>
-<a name="id977201"></a>
- Supported Containers
+<a name="id536629"></a>
+ <a class="link" href="index.html#boost_explore..supported_containers">Supported Containers</a>
   </h3>
 <div class="itemizedlist"><ul type="disc">
 <li>
@@ -144,12 +144,12 @@
     </li>
 </ul></div>
 <p>
- Custom containers
+ <a class="link" href="boost_explore/tutorial/custom_containers.html" title="Custom Containers">Custom containers</a>
     can also be made to work with explore.
   </p>
 <a name="boost_explore..acknowledgements"></a><h3>
-<a name="id977282"></a>
- Acknowledgements
+<a name="id536697"></a>
+ <a class="link" href="index.html#boost_explore..acknowledgements">Acknowledgements</a>
   </h3>
 <p>
     Most of the major concepts and interfaces for this library were developed at

Deleted: sandbox/explore/libs/explore/test/basic_lg_format.hpp
==============================================================================
--- sandbox/explore/libs/explore/test/basic_lg_format.hpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
+++ (empty file)
@@ -1,21 +0,0 @@
-// Boost.Explore library
-
-// Copyright Jared McIntyre 2007. Use, modification and
-// distribution is subject to 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)
-
-// For more information, see http://www.boost.org
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/list.hpp>
-
-#include <boost/explore.hpp>
-
-// for streaming
-std::ostream& basic_lg_stream_format(std::ostream& ostr)
-{
- using namespace explore;
- return ostr << start("<=") << separator("#") << explore::end("=>")
- << assoc_start("<=") << assoc_separator("#") << assoc_end("=>");
-}

Modified: sandbox/explore/libs/explore/test/boost_array.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/boost_array.cpp (original)
+++ sandbox/explore/libs/explore/test/boost_array.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -12,7 +12,9 @@
 #include <string>
 #include <sstream>
 #include <boost/array.hpp>
-#include <boost/explore.hpp>
+#include <boost/explore/boost_array.hpp>
+#include <boost/explore/vector.hpp>
+#include <boost/explore/iterator_range.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_array_stream_test )
 {
@@ -38,7 +40,7 @@
 
     boost::array<int,3>::iterator itr = ai3.begin() + 2;
 
- str_out << explore::make_iterator_range(ai3.begin(), itr);
+ str_out << boost::explore::make_iterator_range(ai3.begin(), itr);
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 2]");
 }
 
@@ -70,6 +72,6 @@
     str_out.str("");
 
     boost::array<std::vector<int>,3>::iterator itr = av3.begin() + 2;
- str_out << explore::make_iterator_range(av3.begin(), itr);
+ str_out << boost::explore::make_iterator_range(av3.begin(), itr);
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3]]");
 }

Modified: sandbox/explore/libs/explore/test/boost_range.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/boost_range.cpp (original)
+++ sandbox/explore/libs/explore/test/boost_range.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -19,27 +19,27 @@
     std::stringstream str_out;
 
     std::vector<int> vi;
- str_out << explore::make_iterator_range(vi);
+ str_out << boost::explore::make_iterator_range(vi);
     BOOST_CHECK_EQUAL(str_out.str(), "[]");
 
     str_out.str("");
 
     vi.push_back(1);
- str_out << explore::make_iterator_range(vi);
+ str_out << boost::explore::make_iterator_range(vi);
     BOOST_CHECK_EQUAL(str_out.str(), "[1]");
 
     str_out.str("");
 
     vi.push_back(2);
     vi.push_back(3);
- str_out << explore::make_iterator_range(vi);
+ str_out << boost::explore::make_iterator_range(vi);
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 2, 3]");
 
     str_out.str("");
- str_out << explore::make_iterator_range(vi.begin()+2, vi.end());
+ str_out << boost::explore::make_iterator_range(vi.begin()+2, vi.end());
     BOOST_CHECK_EQUAL(str_out.str(), "[3]");
 
     str_out.str("");
- str_out << explore::make_iterator_range(vi.rbegin(), vi.rend());
+ str_out << boost::explore::make_iterator_range(vi.rbegin(), vi.rend());
     BOOST_CHECK_EQUAL(str_out.str(), "[3, 2, 1]");
 }

Modified: sandbox/explore/libs/explore/test/boost_variant.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/boost_variant.cpp (original)
+++ sandbox/explore/libs/explore/test/boost_variant.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -43,7 +43,7 @@
 
 BOOST_AUTO_TEST_CASE( cool_variant_stream_test )
 {
- using namespace explore;
+ using namespace boost::explore;
    std::stringstream str_out;
 
    std::vector<boost::variant< int, std::string, std::vector<int> > > varVec;
@@ -63,10 +63,10 @@
    varVec.push_back(".");
    
    // level 0
- str_out << start("") << explore::end("") << separator("");
+ str_out << start("") << boost::explore::end("") << separator("");
    
    // level 1 (for nested collection)
- str_out << start("[", 1) << explore::end("]", 1) << separator(", ", 1);
+ str_out << start("[", 1) << boost::explore::end("]", 1) << separator(", ", 1);
    
    str_out << varVec;
    BOOST_CHECK_EQUAL(str_out.str(), "Hello, my name is Joe. I am 34 years old. My favorite numbers are: [22, 42, 73].");

Modified: sandbox/explore/libs/explore/test/c_array.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/c_array.cpp (original)
+++ sandbox/explore/libs/explore/test/c_array.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -16,7 +16,7 @@
 
 BOOST_AUTO_TEST_CASE( basic_c_array_stream_test )
 {
- using namespace explore;
+ using namespace boost::explore;
     std::stringstream str_out;
 
     int arri1[] = {1};
@@ -32,7 +32,7 @@
 
 BOOST_AUTO_TEST_CASE( vector_in_c_array_stream_test )
 {
- using namespace explore;
+ using namespace boost::explore;
     std::stringstream str_out;
 
     std::vector<int> vi;
@@ -49,4 +49,19 @@
     std::vector<int> arrvi3[] = {vi,vi,vi};
     str_out << arrvi3;
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3], [1, 2, 3]]");
+}
+
+BOOST_AUTO_TEST_CASE( c_style_string_stream_test )
+{
+ using namespace boost::explore;
+ std::stringstream str_out;
+
+ const char s[4] = "abc";
+ str_out << s;
+ BOOST_CHECK_EQUAL(str_out.str(), "abc");
+
+ str_out.str("");
+
+ str_out << "def";
+ BOOST_CHECK_EQUAL(str_out.str(), "def");
 }
\ No newline at end of file

Modified: sandbox/explore/libs/explore/test/columnated.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/columnated.cpp (original)
+++ sandbox/explore/libs/explore/test/columnated.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -22,16 +22,16 @@
 
     friend std::ostream& operator<<(std::ostream& ostr, const columnated_format& f)
     {
- using namespace explore;
+ using namespace boost::explore;
         ostr << setrows(f.m_rows) << setitemwidth(f.m_width)
- << separator("") << start("") << explore::end("");
+ << separator("") << start("") << boost::explore::end("");
         return ostr;
     }
 };
 
 BOOST_AUTO_TEST_CASE( basic_columnate_stream_test )
 {
- using namespace explore;
+ using namespace boost::explore;
     std::stringstream str_out;
     std::vector<int> vi;
 
@@ -40,7 +40,7 @@
         vi.push_back(i);
     }
 
- str_out << setrows(3) << start("") << explore::end("") << vi;
+ str_out << setrows(3) << start("") << boost::explore::end("") << vi;
 
     BOOST_CHECK_EQUAL(str_out.str(),
         "0, 1, 2, \n"
@@ -50,7 +50,7 @@
 
     str_out.str("");
 
- str_out << setrows(3) << setitemwidth(5) << start("") << explore::end("") << vi;
+ str_out << setrows(3) << setitemwidth(5) << start("") << boost::explore::end("") << vi;
 
     BOOST_CHECK_EQUAL(str_out.str(),
         " 0, 1, 2, \n"

Modified: sandbox/explore/libs/explore/test/custom_format_simple.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/custom_format_simple.cpp (original)
+++ sandbox/explore/libs/explore/test/custom_format_simple.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -10,16 +10,25 @@
 #define BOOST_TEST_MODULE PrintLib
 #include <boost/test/unit_test.hpp>
 #include <boost/range/iterator_range.hpp>
+#include <boost/explore/manipulators.hpp>
+#include <boost/explore/vector.hpp>
+#include <boost/explore/map.hpp>
+#include <boost/explore/iterator_range.hpp>
 #include <string>
 #include <sstream>
 #include <vector>
-#include <boost/explore.hpp>
-#include "basic_lg_format.hpp"
+
+std::ostream& basic_stream_format(std::ostream& ostr)
+{
+ using namespace boost::explore;
+ return ostr << start("<=") << separator("#") << end("=>")
+ << assoc_start("<=") << assoc_separator("#") << assoc_end("=>");
+}
 
 BOOST_AUTO_TEST_CASE( basic_vector_custom_format_stream_test )
 {
     std::stringstream str_out;
- str_out << basic_lg_stream_format;
+ str_out << basic_stream_format;
 
     std::vector<int> vi;
     str_out << vi;
@@ -40,7 +49,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(vi.begin(), ++(++vi.begin()));
+ str_out << boost::explore::make_iterator_range(vi.begin(), ++(++vi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "<=1#2=>");
 
     str_out.str("");
@@ -52,7 +61,7 @@
 BOOST_AUTO_TEST_CASE( basic_map_custom_format_stream_test )
 {
     std::stringstream str_out;
- str_out << basic_lg_stream_format;
+ str_out << basic_stream_format;
 
     std::map<int,std::string> mis;
     str_out << mis;
@@ -74,6 +83,30 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(mis.begin(), ++(++mis.begin()));
+ str_out << boost::explore::make_iterator_range(mis.begin(), ++(++mis.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "<=<=1#first=>#<=2#second=>=>");
 }
+
+BOOST_AUTO_TEST_CASE( begin_end_helper_test )
+{
+ std::stringstream str_out;
+
+ std::vector<int> vi;
+ vi.push_back(1);
+ vi.push_back(2);
+ vi.push_back(3);
+ str_out << boost::explore::begin_end("B ", " E") << vi;
+ BOOST_CHECK_EQUAL(str_out.str(), "B 1, 2, 3 E");
+}
+
+BOOST_AUTO_TEST_CASE( delimeters_helper_test )
+{
+ std::stringstream str_out;
+
+ std::vector<int> vi;
+ vi.push_back(1);
+ vi.push_back(2);
+ vi.push_back(3);
+ str_out << boost::explore::delimiters("F ", " - ", " L") << vi;
+ BOOST_CHECK_EQUAL(str_out.str(), "F 1 - 2 - 3 L");
+}

Modified: sandbox/explore/libs/explore/test/html_table_output.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/html_table_output.cpp (original)
+++ sandbox/explore/libs/explore/test/html_table_output.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 
 #define BOOST_TEST_MODULE PrintLib
 #include <boost/test/unit_test.hpp>
+#include <boost/explore/manipulators.hpp>
 #include <string>
 #include <sstream>
 #include <vector>
@@ -16,21 +17,21 @@
 
 std::ostream& html_table_stream_format(std::ostream& ostr)
 {
- using namespace explore;
+ using namespace boost::explore;
     ostr << start("<table>\n")
          << separator("")
- << explore::end("</table>\n");
+ << boost::explore::end("</table>\n");
 
     ostr << start("<tr><td>", 1)
          << separator("</td><td>", 1)
- << explore::end("</td></tr>\n", 1);
+ << boost::explore::end("</td></tr>\n", 1);
 
     return ostr;
 }
 
 BOOST_AUTO_TEST_CASE( vector_in_c_array_html_stream_test )
 {
- using namespace explore;
+ using namespace boost::explore;
     std::stringstream str_out;
     str_out << html_table_stream_format;
 

Modified: sandbox/explore/libs/explore/test/is_assoc_iter.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/is_assoc_iter.cpp (original)
+++ sandbox/explore/libs/explore/test/is_assoc_iter.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -18,21 +18,21 @@
 
 BOOST_AUTO_TEST_CASE( is_assoc_iter_test )
 {
- bool mapHasAssocIter = explore::is_assoc_iter<std::map<int, double>::iterator>::type();
+ bool mapHasAssocIter = boost::explore::is_assoc_iter<std::map<int, double>::iterator>::type();
     BOOST_CHECK(mapHasAssocIter);
 
- bool multimapHasAssocIter = explore::is_assoc_iter<std::multimap<std::string, bool>::iterator>::type();
+ bool multimapHasAssocIter = boost::explore::is_assoc_iter<std::multimap<std::string, bool>::iterator>::type();
     BOOST_CHECK(multimapHasAssocIter);
 
- bool vectorHasAssocIter = explore::is_assoc_iter<std::vector<double>::iterator>::type();
+ bool vectorHasAssocIter = boost::explore::is_assoc_iter<std::vector<double>::iterator>::type();
     BOOST_CHECK(!vectorHasAssocIter);
 
- bool pointerHasAssocIter = explore::is_assoc_iter<int*>::type();
+ bool pointerHasAssocIter = boost::explore::is_assoc_iter<int*>::type();
     BOOST_CHECK(!pointerHasAssocIter);
 
- bool pairHasAssocIter = explore::is_assoc_iter<std::pair<int, double> >::type();
+ bool pairHasAssocIter = boost::explore::is_assoc_iter<std::pair<int, double> >::type();
     BOOST_CHECK(!pairHasAssocIter);
 
- bool listOfPairHasAssocIter = explore::is_assoc_iter<std::list<std::pair<int, double> >::iterator >::type();
+ bool listOfPairHasAssocIter = boost::explore::is_assoc_iter<std::list<std::pair<int, double> >::iterator >::type();
     BOOST_CHECK(!listOfPairHasAssocIter);
 }

Modified: sandbox/explore/libs/explore/test/multi_dim_test.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/multi_dim_test.cpp (original)
+++ sandbox/explore/libs/explore/test/multi_dim_test.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -16,13 +16,13 @@
 
 std::ostream& format_2d(std::ostream& ostr)
 {
- using namespace explore;
+ using namespace boost::explore;
 
     // level 0
- ostr << start("") << explore::end("") << separator("\n");
+ ostr << start("") << boost::explore::end("") << separator("\n");
 
     // level 1
- ostr << start("|", 1) << explore::end("|", 1) << separator(" ", 1);
+ ostr << start("|", 1) << boost::explore::end("|", 1) << separator(" ", 1);
 
     return ostr;
 }
@@ -51,16 +51,16 @@
 
 std::ostream& format_3d(std::ostream& ostr)
 {
- using namespace explore;
+ using namespace boost::explore;
 
     // level 0
- ostr << start("") << explore::end("") << separator("\n\n");
+ ostr << start("") << boost::explore::end("") << separator("\n\n");
 
     // level 1
- ostr << start("", 1) << explore::end("", 1) << separator("\n", 1);
+ ostr << start("", 1) << boost::explore::end("", 1) << separator("\n", 1);
 
     // level 2
- ostr << start("|", 2) << explore::end("|", 2) << separator(" ", 2);
+ ostr << start("|", 2) << boost::explore::end("|", 2) << separator(" ", 2);
 
     return ostr;
 }

Modified: sandbox/explore/libs/explore/test/std_deque.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_deque.cpp (original)
+++ sandbox/explore/libs/explore/test/std_deque.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -11,8 +11,8 @@
 #include <boost/test/unit_test.hpp>
 #include <string>
 #include <sstream>
-#include <deque>
-#include <boost/explore.hpp>
+#include <boost/explore/deque.hpp>
+#include <boost/explore/iterator_range.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_deque_stream_test )
 {
@@ -37,7 +37,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(di.begin(), ++(++di.begin()));
+ str_out << boost::explore::make_iterator_range(di.begin(), ++(++di.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 2]");
 }
 
@@ -69,6 +69,6 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(ddi.begin(), ++(++ddi.begin()));
+ str_out << boost::explore::make_iterator_range(ddi.begin(), ++(++ddi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3]]");
 }

Modified: sandbox/explore/libs/explore/test/std_list.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_list.cpp (original)
+++ sandbox/explore/libs/explore/test/std_list.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -11,9 +11,9 @@
 #include <boost/test/unit_test.hpp>
 #include <string>
 #include <sstream>
-#include <list>
 #include <complex>
-#include <boost/explore.hpp>
+#include <boost/explore/list.hpp>
+#include <boost/explore/iterator_range.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_list_stream_test )
 {
@@ -38,7 +38,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(lc.begin(), ++(++lc.begin()));
+ str_out << boost::explore::make_iterator_range(lc.begin(), ++(++lc.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[(0,1), (2,3)]");
 }
 
@@ -70,6 +70,6 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(lli.begin(), ++(++lli.begin()));
+ str_out << boost::explore::make_iterator_range(lli.begin(), ++(++lli.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3]]");
 }

Modified: sandbox/explore/libs/explore/test/std_map.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_map.cpp (original)
+++ sandbox/explore/libs/explore/test/std_map.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -12,8 +12,9 @@
 #include <string>
 #include <sstream>
 #include <vector>
-#include <map>
-#include <boost/explore.hpp>
+#include <boost/explore/map.hpp>
+#include <boost/explore/vector.hpp>
+#include <boost/explore/iterator_range.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_map_stream_test )
 {
@@ -38,7 +39,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(mis.begin(), ++(++mis.begin()));
+ str_out << boost::explore::make_iterator_range(mis.begin(), ++(++mis.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1:first, 2:second]");
 }
 
@@ -72,7 +73,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(mmis.begin(), ++(++mmis.begin()));
+ str_out << boost::explore::make_iterator_range(mmis.begin(), ++(++mmis.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1:first, 1:single]");
 }
 
@@ -104,6 +105,6 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(mivi.begin(), ++(++mivi.begin()));
+ str_out << boost::explore::make_iterator_range(mivi.begin(), ++(++mivi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1:[1, 2, 3], 2:[1, 2, 3]]");
 }

Modified: sandbox/explore/libs/explore/test/std_pair.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_pair.cpp (original)
+++ sandbox/explore/libs/explore/test/std_pair.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -11,7 +11,9 @@
 #include <boost/test/unit_test.hpp>
 #include <sstream>
 #include <vector>
-#include <boost/explore.hpp>
+#include <boost/explore/pair.hpp>
+#include <boost/explore/vector.hpp>
+#include <boost/explore/iterator_range.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_pair_stream_test )
 {
@@ -47,6 +49,6 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(vpi.begin(), ++(++vpi.begin()));
+ str_out << boost::explore::make_iterator_range(vpi.begin(), ++(++vpi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2], [1, 2]]");
 }

Modified: sandbox/explore/libs/explore/test/std_set.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_set.cpp (original)
+++ sandbox/explore/libs/explore/test/std_set.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -11,7 +11,11 @@
 #include <boost/test/unit_test.hpp>
 #include <string>
 #include <sstream>
-#include <set>
+#include <vector>
+#include <boost/explore/set.hpp>
+#include <boost/explore/vector.hpp>
+#include <boost/explore/iterator_range.hpp>
+
 #include <boost/explore.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_set_stream_test )
@@ -37,7 +41,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(si.begin(), ++(++si.begin()));
+ str_out << boost::explore::make_iterator_range(si.begin(), ++(++si.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 2]");
 }
 
@@ -71,7 +75,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(msi.begin(), ++(++msi.begin()));
+ str_out << boost::explore::make_iterator_range(msi.begin(), ++(++msi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 1]");
 }
 
@@ -103,6 +107,6 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(svi.begin(), ++(++svi.begin()));
+ str_out << boost::explore::make_iterator_range(svi.begin(), ++(++svi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3]]");
 }

Modified: sandbox/explore/libs/explore/test/std_vector.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/std_vector.cpp (original)
+++ sandbox/explore/libs/explore/test/std_vector.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -9,11 +9,10 @@
 
 #define BOOST_TEST_MODULE PrintLib
 #include <boost/test/unit_test.hpp>
-#include <boost/range/iterator_range.hpp>
 #include <string>
 #include <sstream>
-#include <vector>
-#include <boost/explore.hpp>
+#include <boost/explore/iterator_range.hpp>
+#include <boost/explore/vector.hpp>
 
 BOOST_AUTO_TEST_CASE( basic_vector_stream_test )
 {
@@ -38,7 +37,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(vi.begin(), ++(++vi.begin()));
+ str_out << boost::explore::make_iterator_range(vi.begin(), ++(++vi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[1, 2]");
 }
 
@@ -70,7 +69,7 @@
 
     str_out.str("");
 
- str_out << explore::make_iterator_range(vvi.begin(), ++(++vvi.begin()));
+ str_out << boost::explore::make_iterator_range(vvi.begin(), ++(++vvi.begin()));
     BOOST_CHECK_EQUAL(str_out.str(), "[[1, 2, 3], [1, 2, 3]]");
 }
 

Modified: sandbox/explore/libs/explore/test/user_defined_container.cpp
==============================================================================
--- sandbox/explore/libs/explore/test/user_defined_container.cpp (original)
+++ sandbox/explore/libs/explore/test/user_defined_container.cpp 2009-08-24 23:56:30 EDT (Mon, 24 Aug 2009)
@@ -39,7 +39,7 @@
 
 std::ostream& operator<<(std::ostream& ostr, const user_vector& u)
 {
- return explore::stream_container(ostr, u.start(), u.finish());
+ return boost::explore::stream_container(ostr, u.start(), u.finish());
 }
 
 BOOST_AUTO_TEST_CASE( user_defined_stream_test )


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