CkPttn 1.2.4
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Functions
transrangers.hpp File Reference

Transrangers: an efficient, composable design pattern for range processing. More...

#include <iterator>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for transrangers.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  transrangers::ranger_class< Cursor, F >
 
struct  transrangers::all_copy< Range >
 
struct  transrangers::deref_fun< Cursor, F, typename >
 
struct  transrangers::deref_fun< Cursor, F, typename std::enable_if< std::is_trivially_default_constructible< F >::value &&std::is_empty< F >::value >::type >
 
struct  transrangers::identity_adaption
 
struct  transrangers::all_adaption
 
struct  transrangers::zip_cursor< Rangers >
 

Namespaces

namespace  transrangers
 

Macros

#define TRANSRANGERS_HOT   [[msvc::forceinline]]
 
#define TRANSRANGERS_HOT_MUTABLE   mutable [[msvc::forceinline]]
 

Functions

template<typename Cursor , typename F >
auto transrangers::ranger (F f)
 
template<typename Range >
auto transrangers::all (Range &&rng)
 
template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, all_copy< Range > >::type transrangers::all (Range &&rng)
 
template<typename Pred >
auto transrangers::pred_box (Pred pred)
 
template<typename Pred , typename Ranger >
auto transrangers::filter (Pred pred_, Ranger rgr)
 
template<typename F , typename Ranger >
auto transrangers::transform (F f, Ranger rgr)
 
template<typename Ranger >
auto transrangers::take (int n, Ranger rgr)
 
template<typename Ranger >
auto transrangers::concat (Ranger rgr)
 
template<typename Ranger , typename... Rangers>
auto transrangers::concat (Ranger rgr, Rangers... rgrs)
 
template<typename Ranger >
auto transrangers::unique (Ranger rgr)
 
template<typename Ranger1 , typename Ranger2 >
auto transrangers::zip2 (Ranger1 rgr1, Ranger2 rgr2)
 
template<typename Ranger , typename T >
transrangers::accumulate (Ranger rgr, T init)
 

Detailed Description

Transrangers: an efficient, composable design pattern for range processing.

Transrangers: an efficient, composable design pattern for range processing.

Copyright 2021 Joaquin M Lopez Munoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

See https://github.com/joaquintides/transrangers for project home page.

Macro Definition Documentation

◆ TRANSRANGERS_HOT

#define TRANSRANGERS_HOT   [[msvc::forceinline]]

◆ TRANSRANGERS_HOT_MUTABLE

#define TRANSRANGERS_HOT_MUTABLE   mutable [[msvc::forceinline]]