add index_tuple summary page

This commit is contained in:
Bolero-MURAKAMI 2014-08-15 21:27:31 +09:00
parent 2d707944fb
commit e57368faee
473 changed files with 2597 additions and 1293 deletions

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-assign:
###############################################################################
assign
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-at:
###############################################################################
at
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-back:
###############################################################################
back
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-begin:
###############################################################################
begin
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-c_array:
###############################################################################
c_array
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-cbegin:
###############################################################################
cbegin
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-cend:
###############################################################################
cend
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-crbegin:
###############################################################################
crbegin
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-crend:
###############################################################################
crend
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-data:
###############################################################################
data
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-empty:
###############################################################################
empty
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-end:
###############################################################################
end
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-fill:
###############################################################################
fill
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-front:
###############################################################################
front
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-hash_value:
###############################################################################
hash_value
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array:
###############################################################################
array
###############################################################################
@ -42,24 +43,24 @@ Description
Member types
----------------------------------------
======================================== =============================================================================== =======================================
type definition note
======================================== =============================================================================== =======================================
reference T&
const_reference T const&
iterator **ConstexprRandomAccessIterator** convertible to const_iterator,
convertible to pointer
const_iterator **ConstexprRandomAccessIterator** convertible to const_pointer
size_type std::size_t
difference_type std::ptrdiff_t
value_type T
pointer T*
const_pointer T const*
reverse_iterator sprout::reverse_iterator<iterator>,
**ConstexprRandomAccessIterator**
const_reverse_iterator sprout::reverse_iterator<const_iterator>,
**ConstexprRandomAccessIterator**
======================================== =============================================================================== =======================================
.. csv-table::
:header: type, definition, note
:widths: 4, 4, 4
reference, T&, ""
const_reference, T const&, ""
iterator, **ConstexprRandomAccessIterator**, "| convertible to const_iterator
convertible to pointer"
const_iterator, **ConstexprRandomAccessIterator**, convertible to const_pointer
size_type, std::size_t, ""
difference_type, std::ptrdiff_t, ""
value_type, T, ""
pointer, T*, ""
const_pointer, T const*, ""
reverse_iterator, "| sprout::reverse_iterator<iterator>
**ConstexprRandomAccessIterator**", ""
const_reverse_iterator, "| sprout::reverse_iterator<const_iterator>
**ConstexprRandomAccessIterator**", ""
Member functions
----------------------------------------
@ -67,72 +68,72 @@ Member functions
(initializer)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`(initializer) <./initializer->`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`(initializer) <./initializer->`, ""
construct/copy/destroy
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`operator= <./operator-assign>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`operator= <./operator-assign>`, ""
modifiers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`fill <./fill>`
:doc:`assign <./assign>`
:doc:`swap <./swap>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`fill <./fill>`, ""
:doc:`assign <./assign>`, ""
:doc:`swap <./swap>`, ""
iterators
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`begin <./begin>`
:doc:`end <./end>`
:doc:`rbegin <./rbegin>`
:doc:`rend <./rend>`
:doc:`cbegin <./cbegin>`
:doc:`cend <./cend>`
:doc:`crbegin <./crbegin>`
:doc:`crend <./crend>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`begin <./begin>`, ""
:doc:`end <./end>`, ""
:doc:`rbegin <./rbegin>`, ""
:doc:`rend <./rend>`, ""
:doc:`cbegin <./cbegin>`, ""
:doc:`cend <./cend>`, ""
:doc:`crbegin <./crbegin>`, ""
:doc:`crend <./crend>`, ""
capacity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`size <./size>`
:doc:`max_size <./max_size>`
:doc:`empty <./empty>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`size <./size>`, ""
:doc:`max_size <./max_size>`, ""
:doc:`empty <./empty>`, ""
element access
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`operator[] <./operator-subscript>`
:doc:`at <./at>`
:doc:`front <./front>`
:doc:`back <./back>`
:doc:`data <./data>`
:doc:`c_array <./c_array>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`operator[] <./operator-subscript>`, ""
:doc:`at <./at>`, ""
:doc:`front <./front>`, ""
:doc:`back <./back>`, ""
:doc:`data <./data>`, ""
:doc:`c_array <./c_array>`, ""
Header
========================================

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-initializer-:
###############################################################################
(initializer)
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-max_size:
###############################################################################
max_size
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-assign:
###############################################################################
operator=
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-equal_to:
###############################################################################
operator==
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-greater:
###############################################################################
operator>
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-greater_equal:
###############################################################################
operator>=
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-less:
###############################################################################
operator<
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-less_equal:
###############################################################################
operator<=
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-not_equal_to:
###############################################################################
operator!=
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-operator-subscript:
###############################################################################
operator[]
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-rbegin:
###############################################################################
rbegin
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-rend:
###############################################################################
rend
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-size:
###############################################################################
size
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-std-hash:
###############################################################################
std::hash
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-std-tuple_element:
###############################################################################
std::tuple_element
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-std-tuple_size:
###############################################################################
std::tuple_size
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-swap-global:
###############################################################################
swap
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-swap:
###############################################################################
swap
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-array-tuple_get:
###############################################################################
tuple_get
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array:
###############################################################################
Sprout.Array
###############################################################################
@ -16,6 +17,7 @@ Sprout.Array
array/operator-greater_equal
to_array
make_array
make_array_without_narrowing
make_common_array
array/std-tuple_size
array/std-tuple_element
@ -29,11 +31,11 @@ Description
Classes
----------------------------------------
======================================== ===============================================================================
class
======================================== ===============================================================================
:doc:`array <./array/index>`
======================================== ===============================================================================
.. csv-table::
:header: class
:widths: 4, 8
:doc:`array <./array/index>`, ""
Non-member functions
----------------------------------------
@ -41,67 +43,68 @@ Non-member functions
specialized algorithms
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`swap <./array/swap-global>`
======================================== ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`swap <./array/swap-global>`, ""
comparisons
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
============================================================ ===============================================================================
function
============================================================ ===============================================================================
:doc:`operator== <./array/operator-equal_to>`
:doc:`operator!= <./array/operator-not_equal_to>`
:doc:`operator\< <./array/operator-less>`
:doc:`operator\> <./array/operator-greater>`
:doc:`operator\<= <./array/operator-less_equal>`
:doc:`operator\>= <./array/operator-greater_equal>`
============================================================ ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`operator== <./array/operator-equal_to>`, ""
:doc:`operator!= <./array/operator-not_equal_to>`, ""
:doc:`operator\< <./array/operator-less>`, ""
:doc:`operator\> <./array/operator-greater>`, ""
:doc:`operator\<= <./array/operator-less_equal>`, ""
:doc:`operator\>= <./array/operator-greater_equal>`, ""
array generators
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
============================================================ ===============================================================================
function
============================================================ ===============================================================================
:doc:`to_array <./to_array>`
:doc:`make_array <./make_array>`
:doc:`make_common_array <./make_common_array>`
============================================================ ===============================================================================
.. csv-table::
:header: function
:widths: 4, 8
:doc:`to_array <./to_array>`, ""
:doc:`make_array <./make_array>`, ""
:doc:`make_array_without_narrowing <./make_array_without_narrowing>`, ""
:doc:`make_common_array <./make_common_array>`, ""
Tuple interface
----------------------------------------
============================================================ ===============================================================================
matafunction
============================================================ ===============================================================================
:doc:`std::tuple_size <./array/std-tuple_size>`
:doc:`std::tuple_element <./array/std-tuple_element>`
============================================================ ===============================================================================
.. csv-table::
:header: matafunction
:widths: 4, 8
============================================================ ===============================================================================
function
============================================================ ===============================================================================
:doc:`tuple_get <./array/tuple_get>`
============================================================ ===============================================================================
:doc:`std::tuple_size <./array/std-tuple_size>`, ""
:doc:`std::tuple_element <./array/std-tuple_element>`, ""
.. csv-table::
:header: function
:widths: 4, 8
:doc:`tuple_get <./array/tuple_get>`, ""
Hash support
----------------------------------------
============================================================ ===============================================================================
class
============================================================ ===============================================================================
:doc:`std::hash <./array/std-hash>`
============================================================ ===============================================================================
.. csv-table::
:header: class
:widths: 4, 8
======================================== ===============================================================================
function
======================================== ===============================================================================
:doc:`hash_value <./array/hash_value>`
======================================== ===============================================================================
:doc:`std::hash <./array/std-hash>`, ""
.. csv-table::
:header: function
:widths: 4, 8
:doc:`hash_value <./array/hash_value>`, ""
Header
========================================

View file

@ -1,4 +1,5 @@
.. _sprout-array-make_array:
###############################################################################
make_array
###############################################################################
@ -10,7 +11,7 @@ Interface
template<typename T, typename... Types>
inline SPROUT_CONSTEXPR sprout::array<typename std::remove_cv<T>::type, sizeof...(Types)>
make_array(Types&&... args);
template</*implementation-defined*/, typename... Types>
inline SPROUT_CONSTEXPR sprout::array<typename sprout::common_decay<Types...>::type, sizeof...(Types)>
make_array(Types&&... args);
@ -25,6 +26,9 @@ Remarks
| A first version needs to be specified in the template parameters explicitly type T of the elements in the array.
| And, the type of the elements in the array is a decayed common type of all arguments in the second version.
|
| Narrowing conversion is **not** prohibited in this make_array function. (It behaves like a static_cast)
| If you want to prohibit narrowing conversion, use :doc:`make_array_without_narrowing <./make_array_without_narrowing>` function.
Examples
========================================

View file

@ -0,0 +1,51 @@
.. _sprout-array-make_array_without_narrowing:
###############################################################################
make_array_without_narrowing
###############################################################################
Interface
========================================
.. sourcecode:: c++
template<typename T, typename... Types>
inline SPROUT_CONSTEXPR sprout::array<typename std::remove_cv<T>::type, sizeof...(Types)>
make_array_without_narrowing(Types&&... args);
template</*implementation-defined*/, typename... Types>
inline SPROUT_CONSTEXPR sprout::array<typename sprout::common_decay<Types...>::type, sizeof...(Types)>
make_array_without_narrowing(Types&&... args);
Returns
========================================
| Returns an array object initialized with the argument all elements.
Remarks
========================================
| A first version needs to be specified in the template parameters explicitly type T of the elements in the array.
| And, the type of the elements in the array is a decayed common type of all arguments in the second version.
|
| Narrowing conversion is prohibited in this make_array_without_narrowing function.
Examples
========================================
.. sourcecode:: c++
#include <sprout/array.hpp>
SPROUT_STATIC_CONSTEXPR auto x = sprout::make_array_without_narrowing<int>(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
static_assert(x.size() == 10, "array x initialized with 10 elements.");
Complexity
========================================
| Recursive function invocations in *O(1)* (constant) depth.
Header
========================================
| ``sprout/array/make_array.hpp``
| Convenience header: ``sprout/array.hpp``

View file

@ -1,4 +1,5 @@
.. _sprout-array-make_common_array:
###############################################################################
make_common_array
###############################################################################

View file

@ -1,4 +1,5 @@
.. _sprout-array-to_array:
###############################################################################
to_array
###############################################################################