rangeless::fn
rangeless::fn::impl::memoizer< F > Struct Template Reference

#include <fn.hpp>

Public Types

using traits = impl::memoizer_detail::lambda_traits< F >
 
using Arg = typename std::remove_reference< typename traits::arg >::type
 
using Ret = typename traits::ret
 
using Cache = std::map< Arg, Ret >
 

Public Member Functions

const Retoperator() (const Arg &arg) const
 

Public Attributes

fn
 
Cache m
 

Detailed Description

template<typename F>
struct rangeless::fn::impl::memoizer< F >

Definition at line 3399 of file fn.hpp.

Member Typedef Documentation

◆ Arg

template<typename F >
using rangeless::fn::impl::memoizer< F >::Arg = typename std::remove_reference<typename traits::arg>::type

Definition at line 3402 of file fn.hpp.

◆ Cache

template<typename F >
using rangeless::fn::impl::memoizer< F >::Cache = std::map<Arg, Ret>

Definition at line 3404 of file fn.hpp.

◆ Ret

template<typename F >
using rangeless::fn::impl::memoizer< F >::Ret = typename traits::ret

Definition at line 3403 of file fn.hpp.

◆ traits

Definition at line 3401 of file fn.hpp.

Member Function Documentation

◆ operator()()

template<typename F >
const Ret& rangeless::fn::impl::memoizer< F >::operator() ( const Arg arg) const
inline

Definition at line 3411 of file fn.hpp.

Member Data Documentation

◆ fn

template<typename F >
F rangeless::fn::impl::memoizer< F >::fn

Definition at line 3406 of file fn.hpp.

◆ m

template<typename F >
Cache rangeless::fn::impl::memoizer< F >::m
mutable

Definition at line 3407 of file fn.hpp.


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