/// Fetch a value from the array with bounds checking value_type &at( std::size_t p ) { try { return array.at(p); } catch ( std::out_of_range & ) { throw fostlib::exceptions::out_of_range< std::size_t >( "Array index was out of bounds", 0, c_array_size, p ); } }
inline typename array_type::iterator end () { if (size) return array.at (size+1); else array.end (); }