|
template<typename Symm , typename... IndexPack> |
using | check_index_symmetry = typename detail::check_index_symmetry_impl< tmpl::size< Symm >::value==0 or tmpl::size< Symm >::value==1 ? 0 :2 >::template f< Symm, tmpl::map<>, IndexPack... > |
| Check that each of symmetric indices is in the same frame and have the same dimensionality.
|
|
template<typename Tensor , std::size_t VolumeDim, UpLo Ul, typename Fr = Frame::Grid> |
using | prepend_spatial_index = ::Tensor< typename Tensor::type, tmpl::push_front< typename Tensor::symmetry, tmpl::int32_t< 1+tmpl::fold< typename Tensor::symmetry, tmpl::int32_t< 0 >, tmpl::max< tmpl::_state, tmpl::_element > >::value > >, tmpl::push_front< typename Tensor::index_list, SpatialIndex< VolumeDim, Ul, Fr > > > |
| Add a spatial index to the front of a Tensor. More...
|
|
template<typename Tensor , std::size_t VolumeDim, UpLo Ul, typename Fr = Frame::Grid> |
using | prepend_spacetime_index = ::Tensor< typename Tensor::type, tmpl::push_front< typename Tensor::symmetry, tmpl::int32_t< 1+tmpl::fold< typename Tensor::symmetry, tmpl::int32_t< 0 >, tmpl::max< tmpl::_state, tmpl::_element > >::value > >, tmpl::push_front< typename Tensor::index_list, SpacetimeIndex< VolumeDim, Ul, Fr > > > |
| Add a spacetime index to the front of a Tensor. More...
|
|
template<typename Tensor > |
using | remove_first_index = ::Tensor< typename Tensor::type, tmpl::pop_front< typename Tensor::symmetry >, tmpl::pop_front< typename Tensor::index_list > > |
| remove the first index of a tensor More...
|
|
template<typename Tensor > |
using | change_all_valences = ::Tensor< typename Tensor::type, typename Tensor::symmetry, tmpl::transform< typename Tensor::index_list, tmpl::bind< change_index_up_lo, tmpl::_1 > > > |
| Swap the valences of all indices on a Tensor.
|
|
template<typename NewType , typename Tensor > |
using | swap_type = ::Tensor< NewType, typename Tensor::symmetry, typename Tensor::index_list > |
| Swap the data type of a tensor for a new type. More...
|
|
template<typename Tensor , typename Frame > |
using | any_index_in_frame = tmpl::any< typename Tensor::index_list, tmpl::bind< detail::frame_is_the_same, tmpl::_1, Frame > > |
| Return tmpl::true_type if any indices of the Tensor are in the frame Frame.
|
|
template<typename Tag , typename NewFrame > |
using | replace_frame_in_tag_t = typename replace_frame_in_tag< Tag, NewFrame >::type |
| Replaces Tag with an equivalent Tag but in frame NewFrame.
|
|
template<typename TagList , typename NewFrame > |
using | replace_frame_in_taglist = tmpl::transform< TagList, tmpl::bind< replace_frame_in_tag_t, tmpl::_1, NewFrame > > |
| Replaces every Tag in Taglist with an equivalent Tag but in frame NewFrame.
|
|
Contains all metafunctions related to Tensor manipulations.