1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-07-02 14:04:09 +00:00
Sprout/source/libs/array/array/assign.rst
Bolero-MURAKAMI 88ee58bcf4 fix Issue #49
2013-09-13 17:22:10 +09:00

57 lines
1.4 KiB
ReStructuredText

.. _sprout-array-array-assign:
###############################################################################
assign
###############################################################################
Interface
========================================
.. sourcecode:: c++
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 <sprout/array.hpp>
#include <sprout/assert.hpp>
using namespace sprout;
auto x = array<int, 10>{{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 <sprout/array.hpp>
using namespace sprout;
SPROUT_STATIC_CONSTEXPR auto x = array<int, 10>{{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``