WIP: documentation setup
This commit is contained in:
parent
6f30abde8f
commit
5baa9d810d
@ -45,14 +45,16 @@ namespace meta {
|
||||
};
|
||||
|
||||
//! Type alias for \c Tp::type. Used to evaluate/extract return type of metafunctions
|
||||
//! \tparam Tp The metafunction to evaluate
|
||||
//! \return The inner \::type
|
||||
template <typename Tp>
|
||||
using eval = typename Tp::type;
|
||||
|
||||
//! Type alias for \c Tp::type. Used to evaluate/extract return value of metafunctions
|
||||
//! Type alias for \c Tp::type. Used to evaluate/extract return type of metafunctions
|
||||
template <typename Tp>
|
||||
using eval_t = typename Tp::type;
|
||||
|
||||
//! Type alias for \c Tp::type. Used to evaluate/extract return type of metafunctions
|
||||
//! Type alias for \c Tp::value. Used to evaluate/extract return value of metafunctions
|
||||
template <typename Tp>
|
||||
using eval_v = typename Tp::value;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*!
|
||||
* \file invoke.h
|
||||
* \file utl/meta/invoke.h
|
||||
* \brief Template meta-programming utilities for callables
|
||||
*
|
||||
* \copyright
|
||||
@ -62,7 +62,7 @@ namespace meta{
|
||||
//! @}
|
||||
|
||||
/*!
|
||||
* name invoke, invoke_t
|
||||
* \name invoke, invoke_t
|
||||
*/
|
||||
//! @{
|
||||
/*!
|
||||
|
@ -1,20 +1,6 @@
|
||||
/*!
|
||||
* \file typelist.h
|
||||
* \brief A template parameter "container"
|
||||
*
|
||||
* \copyright
|
||||
* Copyright (C) 2018 Christos Choutouridis <christos@choutouridis.net>\n
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as
|
||||
* published by the Free Software Foundation, either version 3
|
||||
* of the License, or (at your option) any later version.\n
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.\n
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
#ifndef __utl_meta_typelist_h__
|
||||
#define __utl_meta_typelist_h__
|
||||
@ -26,7 +12,7 @@
|
||||
#include <utl/meta/sfinae.h>
|
||||
/*!
|
||||
* \ingroup meta
|
||||
* \defgroup typelist
|
||||
* \defgroup typelist typelist
|
||||
*/
|
||||
//! @{
|
||||
|
||||
@ -37,7 +23,7 @@ namespace meta {
|
||||
* \brief
|
||||
* A class template that just holds a parameter pack.
|
||||
*
|
||||
* The idea came from MPL's sequence concept \ref link1 and from N4115 \ref link2.
|
||||
* The idea came from MPL's sequence concept [1] and from N4115 [2].
|
||||
* In addition to N4115's name "packer" we just prefer a name which is an object, not a subject.
|
||||
* This way the name gives the feeling of a container and smells like Python.\n
|
||||
*
|
||||
@ -51,15 +37,15 @@ namespace meta {
|
||||
* l1 a {};
|
||||
* \endcode
|
||||
*
|
||||
* boost::hana \ref link3 suggests a more powerful scheme were type invariant structures can be used
|
||||
* boost::hana [3] suggests a more powerful scheme were type invariant structures can be used
|
||||
* for metaprograming also. This lib does not need (yet) this kind of power (we afraid the
|
||||
* responsibility that comes along).\n
|
||||
* So a simple python-like list with some extra vector-like
|
||||
* element access functionalities and no iterators is good enough(for now).
|
||||
*
|
||||
* \anchor link1 https://www.boost.org/doc/ \n
|
||||
* \anchor link2 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4115.html \n
|
||||
* \anchor link3 https://github.com/boostorg/hana \n
|
||||
* [1]: https://www.boost.org/doc/ \n
|
||||
* [2]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4115.html \n
|
||||
* [3]: https://github.com/boostorg/hana \n
|
||||
*/
|
||||
template <typename... Ts>
|
||||
struct typelist {
|
||||
|
Loading…
x
Reference in New Issue
Block a user