Stan Math Library  2.20.0
reverse mode automatic differentiation
Public Types | Public Member Functions | Public Attributes | List of all members
stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 > Class Template Reference

StdVectorBuilder allocates type T1 values to be used as intermediate values. More...

#include <StdVectorBuilder.hpp>

Public Types

typedef helper::type type
 

Public Member Functions

 StdVectorBuilder (size_t n)
 
T1 & operator[] (size_t i)
 
type data ()
 

Public Attributes

helper a
 

Detailed Description

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
class stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >

StdVectorBuilder allocates type T1 values to be used as intermediate values.

If any of T2 to T7 have the type std::vector<T>, the data function will return a std::vector<T1> as output.

If none of T2 to T7 have type std::vector<T>, the data function will return a T1 as output.

Whichever case is true, StdVectorBuilder presents a consistent vector-like interface (through size() and operator[](int i)) for constructing the output

The difference between this and VectorBuilder is that VectorBuilder counts Eigen::Matrix<T, Dynamic, 1> and Eigen::Matrix<T, 1, Dynamic> types as vectors.

Template Parameters
usedboolean variable indicating whether this instance is used. If this is false, there is no storage allocated and operator[] throws a std::logic_error.
T1Type of vector to build

Definition at line 35 of file StdVectorBuilder.hpp.

Member Typedef Documentation

◆ type

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
typedef helper::type stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >::type

Definition at line 42 of file StdVectorBuilder.hpp.

Constructor & Destructor Documentation

◆ StdVectorBuilder()

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >::StdVectorBuilder ( size_t  n)
inlineexplicit

Definition at line 45 of file StdVectorBuilder.hpp.

Member Function Documentation

◆ data()

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
type stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >::data ( )
inline

Definition at line 49 of file StdVectorBuilder.hpp.

◆ operator[]()

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
T1& stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >::operator[] ( size_t  i)
inline

Definition at line 47 of file StdVectorBuilder.hpp.

Member Data Documentation

◆ a

template<bool used, typename T1, typename T2, typename T3 = double, typename T4 = double, typename T5 = double, typename T6 = double, typename T7 = double>
helper stan::StdVectorBuilder< used, T1, T2, T3, T4, T5, T6, T7 >::a

Definition at line 43 of file StdVectorBuilder.hpp.


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

     [ Stan Home Page ] © 2011–2018, Stan Development Team.