| 1 | [[PageOutline]] |
| 2 | |
| 3 | '''DOXYGEN/BOOSTBOOK/QUICKBOOK LIMITATIONS AND GUIDELINES''' |
| 4 | |
| 5 | WARNING: The contents of this page are not the result of a consensus of the Boost community. |
| 6 | |
| 7 | Please feel free to improve this page directly or post on the Boost mailing lists [mailto:boost-AT-lists.boost.org] and [mailto:boost-users-AT-lists.boost.org]. |
| 8 | |
| 9 | ----------------------------------------------------------------------------------------------- |
| 10 | = Limitations = |
| 11 | |
| 12 | |
| 13 | ----------------------------------------------------------------------------------------------- |
| 14 | == doxygen tags not supported == |
| 15 | |
| 16 | Currently there are some doxygen tags that are not taken in account by BoostBook. |
| 17 | |
| 18 | ----------------------------------------------------------------------------------------------- |
| 19 | === @tparam === |
| 20 | |
| 21 | ----------------------------------------------------------------------------------------------- |
| 22 | === @see === |
| 23 | |
| 24 | ----------------------------------------------------------------------------------------------- |
| 25 | == C++03 features not supported == |
| 26 | |
| 27 | ----------------------------------------------------------------------------------------------- |
| 28 | === Inheriting from a template parameter === |
| 29 | |
| 30 | {{{ |
| 31 | template <typename UT, typename Bool=bool> |
| 32 | struct inherited_from_underlying |
| 33 | { |
| 34 | template <typename Final, typename Base> |
| 35 | struct type : Base { |
| 36 | // ^^^^ |
| 37 | }; |
| 38 | }; |
| 39 | }}} |
| 40 | |
| 41 | gives |
| 42 | |
| 43 | {{{ |
| 44 | template <typename UT, typename Bool=bool> |
| 45 | struct inherited_from_underlying { |
| 46 | // member classes/structs/unions |
| 47 | template <typename Final, typename Base> |
| 48 | struct type { |
| 49 | // ^^^^ |
| 50 | }; |
| 51 | }; |
| 52 | }}} |
| 53 | |
| 54 | ----------------------------------------------------------------------------------------------- |
| 55 | === ::type misplaced when inheriting from a metafunction === |
| 56 | |
| 57 | {{{ |
| 58 | template< |
| 59 | typename Final, |
| 60 | typename UT, |
| 61 | typename MetaMixinSeq=boost::mpl::vector0<>, |
| 62 | typename Base=base_opaque_type |
| 63 | > |
| 64 | class new_class : public linear_hierarchy<MetaMixinSeq, Final, Base>::type { |
| 65 | // ^^^^ |
| 66 | }}} |
| 67 | |
| 68 | gives |
| 69 | |
| 70 | {{{ |
| 71 | template<typename Final, typename UT, |
| 72 | typename MetaMixinSeq = boost::mpl::vector0<>, |
| 73 | typename Base = base_opaque_type> |
| 74 | class new_class : public linear_hierarchy::type< MetaMixinSeq, Final, Base > { |
| 75 | // ^^^^ |
| 76 | }}} |
| 77 | |
| 78 | |
| 79 | |
| 80 | ----------------------------------------------------------------------------------------------- |
| 81 | == C++0x features not supported == |
| 82 | |
| 83 | There are some C++0x features that are not yet supported. These should be added in future versions as soon as the doxygen version you use take care of them. |
| 84 | |
| 85 | ----------------------------------------------------------------------------------------------- |
| 86 | === explicit conversion operator === |
| 87 | |
| 88 | C++0x explicit operators are not documented as explicit |
| 89 | |
| 90 | {{{ |
| 91 | explicit operator underlying_type const&() const |
| 92 | ^^^^^^^ |
| 93 | }}} |
| 94 | |
| 95 | gives |
| 96 | |
| 97 | {{{ |
| 98 | operator underlying_type const&() const; |
| 99 | }}} |
| 100 | |
| 101 | See #5478. |
| 102 | |
| 103 | ----------------------------------------------------------------------------------------------- |
| 104 | === Scoped enums === |
| 105 | |
| 106 | C++0x scoped enums are not documented as enum class. |
| 107 | |
| 108 | See #5479. |
| 109 | |
| 110 | |
| 111 | ----------------------------------------------------------------------------------------------- |
| 112 | === Defaulted and Deleted Constructors === |
| 113 | |
| 114 | C++0x defaulted and deleted constructors are not documented as =default. |
| 115 | |
| 116 | See #5480. |
| 117 | |
| 118 | ----------------------------------------------------------------------------------------------- |
| 119 | = Guidelines = |
| 120 | |
| 121 | ----------------------------------------------------------------------------------------------- |
| 122 | == Documenting the Reference section following the C++ standard style == |
| 123 | |
| 124 | Doxygen provides a certain number of tags that allows to generate a clean documentation, but it would be great if all the Boost libraries document its Reference section following the C++ standard style. |
| 125 | |
| 126 | |