Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Rose::metaprog::List< Element, Elements... > Struct Template Reference


template<typename Element, typename... Elements>
struct Rose::metaprog::List< Element, Elements... >

Definition at line 159 of file metaprog.h.

Inheritance diagram for Rose::metaprog::List< Element, Elements... >:
Inheritance graph
Collaboration diagram for Rose::metaprog::List< Element, Elements... >:
Collaboration graph

Public Types

template<template< typename > class Functor>
using map_t = typename List< Elements... >::template map_t< Functor >::template prepend< typename Functor< Element >::type >
template<template< typename, typename > class Reducer>
using reduce_t = Reducer< Element, typename List< Elements... >::template reduce_t< Reducer > >
template<template< typename > class Functor>
using map_ravel_t = typename List< Elements... >::template map_ravel_t< Functor >::template prepend_ravel< typename Functor< Element >::list >
template<template< typename > class Predicate>
using filter = typename details::list_filter_t< Predicate, Predicate< Element >::value, Element, Elements... >::list
template<size_t position>
using at = typename details::list_at_t< position, Element, Elements... >::type
- Public Types inherited from Rose::metaprog::list_base_t< Element, Elements... >
using append_ravel = typename L::template prepend< Elements... >
using prepend_ravel = typename L::template append< Elements... >
using append = List< Elements..., Es... >
using prepend = List< Es..., Elements... >

Static Public Member Functions

template<typename Functor , typename... Args>
static void apply (Functor &&functor, Args &&...args)

Static Public Attributes

static constexpr size_t length { List<Elements...>::length + 1 }

The documentation for this struct was generated from the following file: