Automatic Differentiation
 
Loading...
Searching...
No Matches
holder.hpp File Reference
#include <stan/math/prim/meta/is_eigen.hpp>
#include <stan/math/prim/meta/is_plain_type.hpp>
#include <stan/math/prim/fun/Eigen.hpp>
#include <memory>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  Eigen::internal::traits< stan::math::Holder< ArgType, Ptrs... > >
 
class  stan::math::Holder< ArgType, Ptrs >
 A no-op Eigen operation. More...
 
struct  Eigen::internal::evaluator< stan::math::Holder< ArgType, Ptrs... > >
 

Namespaces

namespace  stan
 The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation from C or the boost::math::lgamma implementation.
 
namespace  stan::math
 Matrices and templated mathematical functions.
 
namespace  Eigen
 (Expert) Numerical traits for algorithmic differentiation variables.
 
namespace  Eigen::internal
 (Expert) Product traits for algorithmic differentiation variables.
 
namespace  stan::math::internal
 A comparator that works for any container type that has the brackets operator.
 

Functions

template<typename T , typename... Ptrs, std::enable_if_t< sizeof...(Ptrs) > = 1>
Ptrs stan::math::holder (T &&arg, Ptrs *... pointers)
 
template<typename T >
stan::math::holder (T &&arg)
 
template<typename T >
auto stan::math::internal::holder_handle_element (T &a, T *&res)
 Handles single element (moving rvalue non-expressions to heap) for construction of holder or holder_cl from a functor.
 
template<typename T , std::enable_if_t<!(Eigen::internal::traits< std::decay_t< T > >::Flags &Eigen::NestByRefBit)> * = nullptr>
auto stan::math::internal::holder_handle_element (T &&a, std::remove_reference_t< T > *&res)
 
template<typename T , require_t< std::is_rvalue_reference< T && > > * = nullptr, std::enable_if_t< static_cast< bool >(Eigen::internal::traits< std::decay_t< T > >::Flags &Eigen::NestByRefBit)> * = nullptr>
auto stan::math::internal::holder_handle_element (T &&a, T *&res)
 Handles single element (moving rvalue non-expressions to heap) for construction of holder or holder_cl from a functor.
 
template<typename T , std::size_t... Is, typename... Args>
auto stan::math::internal::make_holder_impl_construct_object (T &&expr, std::index_sequence< Is... >, const std::tuple< Args *... > &ptrs)
 Second step in implementation of construction holder from a functor.
 
template<typename F , std::size_t... Is, typename... Args>
auto stan::math::internal::make_holder_impl (const F &func, std::index_sequence< Is... >, Args &&... args)
 Implementation of construction holder from a functor.
 
template<typename F , typename... Args, require_not_plain_type_t< decltype(std::declval< F >()(std::declval< Args & >()...))> * = nullptr>
auto stan::math::make_holder (const F &func, Args &&... args)
 Constructs an expression from given arguments using given functor.