Empirical
Public Member Functions | List of all members
emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t Struct Reference

#include <attrs.h>

Public Member Functions

template<class T >
constexpr const T & operator() (const value_t< T > &target) const
 
template<class T >
constexpr T & operator() (value_t< T > &target) const
 
template<class T >
constexpr T && operator() (value_t< T > &&target) const
 
template<class T >
constexpr const T && operator() (const value_t< T > &&target) const
 

Detailed Description

template<typename Attr, template< typename > class Value>
struct emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t

Given an attribute pack, Get(pack) will extract the value of this attribute in that pack. It lives in this strange container struct because that allows it to be passed into mapping function functions, so you can do something like: std::vector<SomeAttributePack> packs; std::transform(packs.begin(), packs.end(), MyAttr::Get);

Member Function Documentation

template<typename Attr , template< typename > class Value>
template<class T >
constexpr const T& emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t::operator() ( const value_t< T > &  target) const
inline
template<typename Attr , template< typename > class Value>
template<class T >
constexpr T& emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t::operator() ( value_t< T > &  target) const
inline
template<typename Attr , template< typename > class Value>
template<class T >
constexpr T&& emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t::operator() ( value_t< T > &&  target) const
inline
template<typename Attr , template< typename > class Value>
template<class T >
constexpr const T&& emp::tools::__impl_attr_base::AttrBase< Attr, Value >::get_t::operator() ( const value_t< T > &&  target) const
inline

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