The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
Gaudi::Functional::details::insert_t Struct Reference

#include </builds/gaudi/Gaudi/GaudiFunctional/include/Gaudi/Functional/details.h>

Public Types

template<typename Container>
using c_remove_ptr_t = std::remove_pointer_t<typename Container::value_type>
 

Public Member Functions

template<typename Container, typename Value>
auto operator() (Container &c, Value &&v) const -> decltype(c.push_back(v))
 
template<typename Container, typename Value>
auto operator() (Container &c, Value &&v) const -> decltype(c.insert(v))
 
template<typename Container, typename Value>
requires ( std::is_pointer_v<typename Container::value_type> && std::is_convertible_v<Value, c_remove_ptr_t<Container>> )
auto operator() (Container &c, Value &&v) const
 

Detailed Description

Definition at line 188 of file details.h.

Member Typedef Documentation

◆ c_remove_ptr_t

template<typename Container>
using Gaudi::Functional::details::insert_t::c_remove_ptr_t = std::remove_pointer_t<typename Container::value_type>

Definition at line 191 of file details.h.

Member Function Documentation

◆ operator()() [1/3]

template<typename Container, typename Value>
requires ( std::is_pointer_v<typename Container::value_type> && std::is_convertible_v<Value, c_remove_ptr_t<Container>> )
auto Gaudi::Functional::details::insert_t::operator() ( Container & c,
Value && v ) const
inline

Definition at line 207 of file details.h.

207 {
208 return operator()( c, new c_remove_ptr_t<Container>{ std::forward<Value>( v ) } );
209 }
std::remove_pointer_t< typename Container::value_type > c_remove_ptr_t
Definition details.h:191
auto operator()(Container &c, Value &&v) const -> decltype(c.push_back(v))
Definition details.h:194

◆ operator()() [2/3]

template<typename Container, typename Value>
auto Gaudi::Functional::details::insert_t::operator() ( Container & c,
Value && v ) const -> decltype( c.insert( v ) )
inline

Definition at line 199 of file details.h.

199 {
200 return c.insert( std::forward<Value>( v ) );
201 }

◆ operator()() [3/3]

template<typename Container, typename Value>
auto Gaudi::Functional::details::insert_t::operator() ( Container & c,
Value && v ) const -> decltype( c.push_back( v ) )
inline

Definition at line 194 of file details.h.

194 {
195 return c.push_back( std::forward<Value>( v ) );
196 }

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