/Src/Dependencies/Boost/libs/mpl/doc/src/refmanual/vector_c.rst

http://hadesmem.googlecode.com/ · ReStructuredText · 86 lines · 63 code · 23 blank · 0 comment · 0 complexity · 4fefa41316008220277a3a9e5aeed325 MD5 · raw file

  1. .. Sequences/Classes//vector_c |70
  2. vector_c
  3. ========
  4. Description
  5. -----------
  6. ``vector_c`` is an |Integral Sequence Wrapper| for |vector|. As such, it shares
  7. all |vector| characteristics and requirements, and differs only in the way the
  8. original sequence content is specified.
  9. Header
  10. ------
  11. +-------------------+-----------------------------------------------------------+
  12. | Sequence form | Header |
  13. +===================+===========================================================+
  14. | Variadic | ``#include <boost/mpl/vector_c.hpp>`` |
  15. +-------------------+-----------------------------------------------------------+
  16. | Numbered | ``#include <boost/mpl/vector/vector``\ *n*\ ``_c.hpp>`` |
  17. +-------------------+-----------------------------------------------------------+
  18. Model of
  19. --------
  20. * |Integral Sequence Wrapper|
  21. * |Variadic Sequence|
  22. * |Random Access Sequence|
  23. * |Extensible Sequence|
  24. * |Back Extensible Sequence|
  25. * |Front Extensible Sequence|
  26. Expression semantics
  27. --------------------
  28. |Semantics disclaimer...| |vector|.
  29. .. workaround substitution bug (should be replace:: vector\ *n*\ _c<T,\ |c1...cn|>)
  30. .. |vectorn_c<T,...>| replace:: vector\ *n*\ _c<T,\ *c*\ :sub:`1`,\ *c*\ :sub:`2`,... \ *c*\ :sub:`n`\ >
  31. +-------------------------------------------+-----------------------------------------------+
  32. | Expression | Semantics |
  33. +===========================================+===============================================+
  34. | .. parsed-literal:: | A |vector| of integral constant wrappers |
  35. | | ``integral_c<T,``\ |c1|\ ``>``, |
  36. | vector_c<T,\ |c1...cn|> | ``integral_c<T,``\ |c2|\ ``>``, ... |
  37. | |vectorn_c<T,...>| | ``integral_c<T,``\ |cn|\ ``>``; |
  38. | | see |Integral Sequence Wrapper|. |
  39. +-------------------------------------------+-----------------------------------------------+
  40. | .. parsed-literal:: | Identical to ``vector``\ *n*\ ``<`` |
  41. | | ``integral_c<T,``\ |c1|\ ``>``, |
  42. | vector_c<T,\ |c1...cn|>::type | ``integral_c<T,``\ |c2|\ ``>``, ... |
  43. | |vectorn_c<T,...>|::type | ``integral_c<T,``\ |cn|\ ``>`` ``>``; |
  44. | | see |Integral Sequence Wrapper|. |
  45. +-------------------------------------------+-----------------------------------------------+
  46. | .. parsed-literal:: | Identical to ``T``; see |
  47. | | |Integral Sequence Wrapper|. |
  48. | vector_c<T,\ |c1...cn|>::value_type | |
  49. | |vectorn_c<T,...>|::value_type | |
  50. +-------------------------------------------+-----------------------------------------------+
  51. Example
  52. -------
  53. .. parsed-literal::
  54. typedef vector_c<int,1,1,2,3,5,8,13,21,34> fibonacci;
  55. typedef push_back<fibonacci,int_<55> >::type fibonacci2;
  56. BOOST_MPL_ASSERT_RELATION( front<fibonacci2>::type::value, ==, 1 );
  57. BOOST_MPL_ASSERT_RELATION( back<fibonacci2>::type::value, ==, 55 );
  58. See also
  59. --------
  60. |Sequences|, |Integral Sequence Wrapper|, |vector|, |integral_c|, |set_c|, |list_c|, |range_c|
  61. .. copyright:: Copyright Š 2001-2009 Aleksey Gurtovoy and David Abrahams
  62. Distributed under the Boost Software License, Version 1.0. (See accompanying
  63. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)