|
NimbleSM
NimbleSM is a solid mechanics simulation code for dynamic systems
|
Classes | |
| class | arrayview_t |
| struct | indexer_t |
| struct | indexer_t< T * > |
| class | invoke_counter_t |
| class | spanarray |
| struct | stopwatch |
Typedefs | |
| template<class list_t> | |
| using | iterated_t = decltype(*std::begin(declref<list_t>())) |
| template<class list_t> | |
| using | elem_t = typename std::decay<iterated_t<list_t>>::type |
| template<class F, class... Args> | |
| using | return_t = decltype(declref<F>()(declval_exact<Args>()...)) |
| template<class F, class... list_t> | |
| using | transformed_iterated_t = return_t<F, iterated_t<list_t>...> |
Functions | |
| template<class T> | |
| void | swap (arrayview_t< T > &A, arrayview_t< T > &B) |
| template<class T, class list_t> | |
| std::vector< arrayview_t< T > > | partition_into_arrayviews (std::vector< T > &values, const list_t &counts) |
| template<class T> | |
| T | declval_exact () noexcept |
| template<class T> | |
| std::remove_reference< T >::type & | declref () noexcept |
| template<class T> | |
| auto | len (T &&obj) -> decltype(obj.size()) |
| template<class T> | |
| indexer_t< T > | make_indexer (T &list) |
| template<class T> | |
| indexer_t< T * > | make_indexer (T *ptr) |
| template<class int_t> | |
| invoke_counter_t< int_t > | make_counter (int_t initial=0) |
| template<class list_t, class F> | |
| void | remap (list_t &list, F &&func) |
| using nimble::quanta::elem_t = typename std::decay<iterated_t<list_t>>::type |
| using nimble::quanta::iterated_t = decltype(*std::begin(declref<list_t>())) |
| using nimble::quanta::return_t = decltype(declref<F>()(declval_exact<Args>()...)) |
| using nimble::quanta::transformed_iterated_t = return_t<F, iterated_t<list_t>...> |
|
noexcept |
|
noexcept |
| auto nimble::quanta::len | ( | T && | obj | ) | -> decltype(obj.size()) |
| invoke_counter_t< int_t > nimble::quanta::make_counter | ( | int_t | initial = 0 | ) |
| indexer_t< T > nimble::quanta::make_indexer | ( | T & | list | ) |
| indexer_t< T * > nimble::quanta::make_indexer | ( | T * | ptr | ) |
| std::vector< arrayview_t< T > > nimble::quanta::partition_into_arrayviews | ( | std::vector< T > & | values, |
| const list_t & | counts ) |
| void nimble::quanta::remap | ( | list_t & | list, |
| F && | func ) |
| void nimble::quanta::swap | ( | arrayview_t< T > & | A, |
| arrayview_t< T > & | B ) |