Skip to content

[BUG]: support wrapping template specializations #278

Description

@virtuald

Problem description

Going to ignore these for now since it causes issues and it'll be annoying to address, but here's what needs to be done?

  • needs to include __classname.hpp
  • use bind___classname(m, name) as a member variable
  • from it's bind__classname_specialization needs to call the bind___classname methods in addition to doing whatever binding it needs to do
  • require 'rename' (generate an auto name in create-gen?)

The example below breaks by overwriting the original template class .hpp

Operating System

Linux

Installed Python Packages

No response

Reproducible example code

#pragma once

// basic template
template <typename T>
struct TBasic
{
    virtual ~TBasic() {}

    T getT() { return t; }
    virtual void setT(const T &t) { this->t = t; }

    T t;
};

// basic specialization
// - TODO: ignored for now since this is annoying
template <>
struct TBasic<int> {
    int add5() { return t + 5; }
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions