|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r82366 - in sandbox/static_vector: boost/container doc example
From: athundt_at_[hidden]
Date: 2013-01-05 16:21:50
Author: ahundt
Date: 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
New Revision: 82366
URL: http://svn.boost.org/trac/boost/changeset/82366
Log:
added some static_vector documentation
Text files modified:
sandbox/static_vector/boost/container/static_vector.hpp | 7 +++++++
sandbox/static_vector/doc/static_vector.qbk | 13 ++++++++++++-
sandbox/static_vector/example/bench_static_vector.cpp | 19 ++++++++++++++++---
sandbox/static_vector/example/static_vector_example.cpp | 2 +-
sandbox/static_vector/example/static_vector_set_example.cpp | 2 +-
5 files changed, 37 insertions(+), 6 deletions(-)
Modified: sandbox/static_vector/boost/container/static_vector.hpp
==============================================================================
--- sandbox/static_vector/boost/container/static_vector.hpp (original)
+++ sandbox/static_vector/boost/container/static_vector.hpp 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
@@ -153,6 +153,13 @@
} // namespace static_vector_detail
+/// A hybrid of boost::container::vector and boost::array.
+/**
+ * static_vector is a sequence container like boost::container::vector with contiguous storage that can
+ * change in size, but provides the static allocation, low overhead, and fixed capacity of boost::array.
+ *
+ *
+ */
template <typename Value, std::size_t Capacity, typename Strategy/*FakeAllocator*/ = static_vector_detail::default_strategy<Value>/*fake_allocator*/ >
class static_vector
{
Modified: sandbox/static_vector/doc/static_vector.qbk
==============================================================================
--- sandbox/static_vector/doc/static_vector.qbk (original)
+++ sandbox/static_vector/doc/static_vector.qbk 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
@@ -1,5 +1,6 @@
[/
/ Copyright (c) 2012 Adam Wulkiewicz
+ / Copyright (c) 2012 Andrew Hundt
/
/ 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)
@@ -21,7 +22,17 @@
[section:static_vector static_vector]
-Description.
+static_vector is a hybrid of boost::container::vector and boost::array.
+
+static_vector is a sequence container like boost::container::vector with contiguous storage that can
+change in size, but provides the static allocation, low overhead, and fixed capacity of boost::array.
+
+<Insert example here>
+
+static_vector is well suited for use in a buffer or in the internal implementation of of other classes, or use cases where there is a fixed limit to the number of elements that must be stored. Embedded and realtime applications are a particular case where static_vector is most useful, where allocation either may not be available or acceptable.
+
+Exceptions can be disabled for cases where it is not supported or not desired.
+
[endsect]
Modified: sandbox/static_vector/example/bench_static_vector.cpp
==============================================================================
--- sandbox/static_vector/example/bench_static_vector.cpp (original)
+++ sandbox/static_vector/example/bench_static_vector.cpp 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
@@ -1,9 +1,22 @@
// benchmark based on: http://cpp-next.com/archive/2010/10/howards-stl-move-semantics-benchmark/
-
+/**
+ * @file static_vector_set_example.cpp
+ * @date Aug 14, 2011
+ * @author Andrew Hundt <ATHundt_at_[hidden]>
+ *
+ * (C) 2011-2012 Andrew Hundt <ATHundt_at_[hidden]>
+ *
+ * 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)
+ *
+ * @brief static_vector_benchmark.cpp compares the performance of boost::container::static_vector to boost::container::vector
+ *
+ */
+
#include "boost/container/static_vector.hpp"
#include "boost/container/vector.hpp"
-#include "boost/container/set.hpp"
#include <vector>
#include <iostream>
#include <boost/timer/timer.hpp>
@@ -15,7 +28,7 @@
using boost::timer::cpu_times;
using boost::timer::nanosecond_type;
-static const std::size_t N = 720;
+static const std::size_t N = 720; // note: if N is too large you will run out of stack space. It is possible to increase the stack limit on some platforms.
extern bool some_test;
Modified: sandbox/static_vector/example/static_vector_example.cpp
==============================================================================
--- sandbox/static_vector/example/static_vector_example.cpp (original)
+++ sandbox/static_vector/example/static_vector_example.cpp 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
@@ -3,7 +3,7 @@
* @date Aug 14, 2011
* @author Andrew Hundt <ATHundt_at_[hidden]>
*
- * (C) Andrew Hundt 2011-2012 <ATHundt_at_[hidden]>
+ * (C) 2011-2012 Andrew Hundt <ATHundt_at_[hidden]>
*
* Distributed under the Boost Software License, Version 1.0. (See
* accompanying file LICENSE_1_0.txt or copy at
Modified: sandbox/static_vector/example/static_vector_set_example.cpp
==============================================================================
--- sandbox/static_vector/example/static_vector_set_example.cpp (original)
+++ sandbox/static_vector/example/static_vector_set_example.cpp 2013-01-05 16:21:49 EST (Sat, 05 Jan 2013)
@@ -3,7 +3,7 @@
* @date Aug 14, 2011
* @author Andrew Hundt <ATHundt_at_[hidden]>
*
- * (C) Andrew Hundt 2011 <ATHundt_at_[hidden]>
+ * (C) 2011-2012 Andrew Hundt <ATHundt_at_[hidden]>
*
* Distributed under the Boost Software License, Version 1.0. (See
* accompanying file LICENSE_1_0.txt or copy at
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