| | 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 | |