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 ) |