|  | 
| template<typename scalar_type > | 
| void | transpose (long long M, long long N, scalar_type const A[], scalar_type B[]) | 
|  | Constructs the transpose of an M by N matrix A in column major format, result is stored in B (implemented in linear solvers). 
 | 
|  | 
| template<typename scalar_type > | 
| std::vector< scalar_type > | transpose (long long M, long long N, scalar_type const A[]) | 
|  | Constructs the transpose of an M by N matrix A in column major format, result is returned in a vector. 
 | 
|  | 
| template<typename IntA , typename IntB > | 
| size_t | size_mult (IntA a, IntB b) | 
|  | Converts two integer-like variables to size_t and returns the product..  More... 
 | 
|  | 
| template<typename T , typename I > | 
| std::vector< typename std::remove_const< T >::type > | copyArray (T *x, I size) | 
|  | Copies an array into a vector, returns empty vector if the input is nullpntr.  More... 
 | 
|  | 
| template<typename T > | 
| std::vector< T > | mergeVectors (std::vector< std::vector< T >> const &vec) | 
|  | Takes a vector of vectors and returns a single contiguous vector.  More... 
 | 
|  | 
| template<typename T , typename U > | 
| T | exchange (T &x, U new_x) | 
|  | Equivalent to C++14 exchange, but works with simpler types (int, double, float*). 
 | 
|  | 
| template<typename T , typename... Args> | 
| std::unique_ptr< T > | make_unique (Args &&... args) | 
|  | Equivalent to C++14 make_unique. 
 | 
|  | 
Miscellaneous utility templates (internal use).