.. _sprout-array-array-assign: ############################################################################### assign ############################################################################### Interface ======================================== .. sourcecode:: c++ SPROUT_CXX14_CONSTEXPR void assign(const_reference value); SPROUT_CONSTEXPR array assign(const_reference value) const; Effects ======================================== | ``std::fill_n(begin(), N, value)``, or without effects in the case of const version. Returns ======================================== | void, or array filled with value in the case of const version. Examples ======================================== .. sourcecode:: c++ #include #include using namespace sprout; auto x = array{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}; int main() { x.assign(0); SPROUT_ASSERT_MSG(x[0] == 0, "filled with 0."); } .. sourcecode:: c++ #include using namespace sprout; SPROUT_STATIC_CONSTEXPR auto x = array{{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}}; SPROUT_STATIC_CONSTEXPR auto y = x.assign(0); static_assert(y[0] == 0, "filled with 0."); Complexity ======================================== | Recursive function invocations in *O(1)* (constant) depth. Header ======================================== | ``sprout/array/array.hpp`` | Convenience header: ``sprout/array.hpp``