Browse Source

WIP: documentation setup

doc
Christos Choutouridis 4 years ago
parent
commit
5baa9d810d
3 changed files with 12 additions and 24 deletions
  1. +4
    -2
      include/utl/meta/basic.h
  2. +2
    -2
      include/utl/meta/invoke.h
  3. +6
    -20
      include/utl/meta/typelist.h

+ 4
- 2
include/utl/meta/basic.h View File

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


+ 2
- 2
include/utl/meta/invoke.h View File

@@ -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
*/
//! @{
/*!


+ 6
- 20
include/utl/meta/typelist.h View File

@@ -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…
Cancel
Save