Sha256: e09acb18cd85b3fb64526463891ef2ae5e8123216122773752a0a8ab9e5db6a3

Contents?: true

Size: 829 Bytes

Versions: 12

Compression:

Stored size: 829 Bytes

Contents

#ifndef Rice__MethodInfo__hpp_
#define Rice__MethodInfo__hpp_

#include <vector>
#include "../Arg.hpp"
#include "../Return.hpp"

namespace Rice
{
  class MethodInfo
  {
  public:
    template <typename...Arg_Ts>
    MethodInfo(size_t argCount, const Arg_Ts&...args);

    /**
      * Get the rb_scan_args format string for this
      * list of arguments.
      */
    std::string formatString();

    /**
      * Add a defined Arg to this list of Arguments
      */
    void addArg(const Arg& arg);

    Arg& arg(size_t pos);

    // Iterator support
    std::vector<Arg>::iterator begin();
    std::vector<Arg>::iterator end();

    Return returnInfo;

  private:
    template <typename Arg_T>
    void processArg(const Arg_T& arg);

    std::vector<Arg> args_;
  };
}
#include "MethodInfo.ipp"

#endif // Rice__MethodInfo__hpp_

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rice-4.3.3 rice/detail/MethodInfo.hpp
rice-4.3.2 rice/detail/MethodInfo.hpp
rice-4.3.1 rice/detail/MethodInfo.hpp
rice-4.3.0 rice/detail/MethodInfo.hpp
rice-4.2.1 rice/detail/MethodInfo.hpp
rice-4.2.0 rice/detail/MethodInfo.hpp
rice-4.1.0 rice/detail/MethodInfo.hpp
rice-4.0.4 rice/detail/MethodInfo.hpp
rice-4.0.3 rice/detail/MethodInfo.hpp
rice-4.0.2 rice/detail/MethodInfo.hpp
rice-4.0.1 rice/detail/MethodInfo.hpp
rice-4.0.0 rice/detail/MethodInfo.hpp