|
| template<class T , T... Seq> |
| | pRC::Sequence (std::integer_sequence< T, Seq... > const) -> Sequence< T, Seq... > |
| |
| template<Size... Ns> |
| | pRC::Sequence (Sizes< Ns... > const) -> Sequence< Size, Ns... > |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Add, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator+ (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Add, T, T > > = 0> |
| static constexpr auto | pRC::operator+ (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< Add, T, T > > = 0> |
| static constexpr auto | pRC::operator+ (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Sub, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator- (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Sub, T, T > > = 0> |
| static constexpr auto | pRC::operator- (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Mul, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator* (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Mul, T, T > > = 0> |
| static constexpr auto | pRC::operator* (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< Mul, T, T > > = 0> |
| static constexpr auto | pRC::operator* (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Div, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator/ (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Div, T, T > > = 0> |
| static constexpr auto | pRC::operator/ (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Mod, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator% (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Mod, T, T > > = 0> |
| static constexpr auto | pRC::operator% (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T... Is, If< IsInvocable< Minus, T > > = 0> |
| static constexpr auto | pRC::operator- (Sequence< T, Is... > const) |
| |
| template<class T , T... As, T... Bs> |
| static constexpr auto | pRC::operator, (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator== (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B> |
| static constexpr auto | pRC::operator== (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs> |
| static constexpr auto | pRC::operator== (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator!= (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B> |
| static constexpr auto | pRC::operator!= (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs> |
| static constexpr auto | pRC::operator!= (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< LessEqual, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator<= (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< LessEqual, T, T > > = 0> |
| static constexpr auto | pRC::operator<= (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< LessEqual, T, T > > = 0> |
| static constexpr auto | pRC::operator<= (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< GreaterEqual, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator>= (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< GreaterEqual, T, T > > = 0> |
| static constexpr auto | pRC::operator>= (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< GreaterEqual, T, T > > = 0> |
| static constexpr auto | pRC::operator>= (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Equal, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator< (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Equal, T, T > > = 0> |
| static constexpr auto | pRC::operator< (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< Equal, T, T > > = 0> |
| static constexpr auto | pRC::operator< (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T... Bs, If< IsInvocable< Equal, T, T > > = 0, If< IsSatisfied<(sizeof...(As)==sizeof...(Bs))> > = 0> |
| static constexpr auto | pRC::operator> (Sequence< T, As... > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... As, T B, If< IsInvocable< Equal, T, T > > = 0> |
| static constexpr auto | pRC::operator> (Sequence< T, As... > const, Constant< T, B > const) |
| |
| template<class T , T A, T... Bs, If< IsInvocable< Equal, T, T > > = 0> |
| static constexpr auto | pRC::operator> (Constant< T, A > const, Sequence< T, Bs... > const) |
| |
| template<class T , T... Seq, class F , class... Xs, If< IsInvocable< F, Xs..., Constant< T, Seq >... > > = 0> |
| static constexpr decltype(auto) | pRC::expand (Sequence< T, Seq... > const, F &&f, Xs &&...args) |
| |
| template<class T , T N> |
| static constexpr auto | pRC::makeSeries () |
| |
| template<class T > |
| static constexpr auto | pRC::makeSeriesFor () |
| |
| template<class T , class... Ts, If< IsSatisfied<(sizeof...(Ts) > 0)> > |
| static constexpr auto | pRC::makeSeriesFor () |
| |
| template<class T , T First, T Last, Direction D = Direction::Forwards, T Step = T(1), If< IsSatisfied<(D==Direction::Forwards||D==Direction::Backwards)> > = 0, If< IsSatisfied<((Last - First) % Step==0)> > = 0> |
| static constexpr auto | pRC::makeRange () |
| |
| template<class T , Size N, T V> |
| static constexpr auto | pRC::makeConstantSequence () |
| |
| template<class F , class T , T I1, T I2, T... Is, If< IsInvocable< F, T, T > > = 0> |
| static constexpr auto | pRC::reduce (Sequence< T, I1, I2, Is... > const) |
| |
| template<class F , class T , T I> |
| static constexpr auto | pRC::reduce (Sequence< T, I > const) |
| |
| template<Index... Ps, class T , T... Is, If< IsSatisfied<(sizeof...(Is)==sizeof...(Ps))> > = 0, If< IsSatisfied<((Ps< sizeof...(Is)) &&...)> > = 0, If< IsUnique< Constant< Index, Ps >... > > = 0> |
| static constexpr auto | pRC::permute (Sequence< T, Is... > const) |
| |
| template<class T , T... Is> |
| static constexpr auto | pRC::reverse (Sequence< T, Is... > const) |
| |
| template<Direction D, Size Step, class T , T First, T... Is, If< IsSatisfied<(D==Direction::Leftwards||D==Direction::Rightwards)> > = 0> |
| static constexpr auto | pRC::rotate (Sequence< T, First, Is... > const) |
| |
| template<Direction D, Size Step, class T , If< IsSatisfied<(D==Direction::Leftwards||D==Direction::Rightwards)> > = 0> |
| static constexpr auto | pRC::rotate (Sequence< T > const) |
| |
| template<Index O = 0, class T , T... Is, class... Seqs, If< IsSatisfied<((Sequence< T, Is... >::size()==Seqs::size()) &&...)> > |
| static constexpr auto | pRC::zip (Sequence< T, Is... > const, Seqs const ...) |
| |
| template<class F , class T , T... Is> |
| static constexpr auto | pRC::filter (Sequence< T, Is... > const) |
| |
| template<class F , class T , T... As, T... Bs, class... Seqs, If< IsInvocable< F, T, T > > = 0, If< IsSatisfied<((Sequence< T, As... >::size()==Seqs::size()) &&... &&(Sequence< T, As... >::size()==Sequence< T, Bs... >::size()))> > |
| static constexpr auto | pRC::pick (Sequence< T, As... > const, Sequence< T, Bs... > const, Seqs const ...) |
| |
| template<Index D, Index... Ds, class T , T... Is, If< IsSatisfied<(sizeof...(Ds)< sizeof...(Is))> > = 0, If< IsSatisfied<(max(D, Ds...)< sizeof...(Is))> > = 0, If< IsUnique< Constant< Index, D >, Constant< Index, Ds >... > > = 0> |
| static constexpr auto | pRC::chip (Sequence< T, Is... > const) |
| |
| template<class T , T... Is> |
| static constexpr auto | pRC::chip (Sequence< T, Is... > const) |
| |
| template<Index S, Index... Ss, class T , T... Is, If< IsSatisfied<(sizeof...(Ss)< sizeof...(Is))> > = 0, If< IsSatisfied<(max(S, Ss...)< sizeof...(Is))> > = 0, If< IsUnique< Constant< Index, S >, Constant< Index, Ss >... > > = 0> |
| static constexpr auto | pRC::select (Sequence< T, Is... > const) |
| |
| template<class T , T... Is> |
| static constexpr auto | pRC::select (Sequence< T, Is... > const) |
| |
| template<Index B, Index P, class T , T... Is, If< IsSatisfied<(sizeof...(Is) % B==0)> > = 0, If< IsSatisfied<(P< B)> > = 0> |
| static constexpr auto | pRC::cut (Sequence< T, Is... > const) |
| |
| template<Index I, Index L, class T , T... Is, If< IsSatisfied<(L<=sizeof...(Is))> > = 0, If< IsSatisfied<(I< L)> > = 0> |
| static constexpr auto | pRC::trim (Sequence< T, Is... > const) |
| |
| template<class F = Less, class T , T I, T... Is, If< IsInvocableResult< Bool, F, T, T > > = 0> |
| static constexpr auto | pRC::sort (Sequence< T, I, Is... > const) |
| |
| template<class T , T From, T... Froms, T To, T... Tos, T P, T... Ps, If< IsSatisfied<(sizeof...(Froms)==sizeof...(Tos) &&sizeof...(Froms)==sizeof...(Ps))> > = 0> |
| static constexpr auto | pRC::getPermutation (Sequence< T, From, Froms... > const, Sequence< T, To, Tos... > const, Sequence< T, P, Ps... > const) |
| |
| template<class T , T... Froms, T... Tos, If< IsSatisfied<(sizeof...(Froms)==sizeof...(Tos))> > = 0> |
| static constexpr auto | pRC::getPermutation (Sequence< T, Froms... > const, Sequence< T, Tos... > const) |
| |
| template<class T , T... Froms> |
| static constexpr auto | pRC::getPermutation (Sequence< T, Froms... > const) |
| |
| template<class T , T N, T... Ps> |
| static constexpr auto | pRC::integerFactorization (Constant< T, N > const, Sequence< T, Ps... > const =Sequence< T >()) |
| |