
Andrew Hundt <athundt <at> gmail.com> writes:
On Sun, Aug 14, 2011 at 5:55 AM, Andrew Hundt <athundt <at> gmail.com> wrote:
<snip>
three.push_back(2); // size: 2 capacity: 3 three.push_back(3);
three.push_back(1); // throws std::out_of_range exception indicating the capacity has been exceeded
Is there any chance that the error behaviour code be configurable. StaticVector looks ideal for embedded environments, BUT commonly exceptions are disabled in such an environment. It would be nice to have asserts instead of exceptions available in all cases, so that a programmer can check for room on a push_back prior to calling it. A specific StaticVector macro would suffice for those that need it. (There may also need to be changes for the template specialization of <T,0> as well, with respect to throwing exceptions.) As an aside the exceptions should/could be thrown using the BOOST_THROW_EXCEPTION macro, to support the other boost specific exception behaviour support. (At least it is something like that.) Yours, Peter