How can I mark Realization arrow with binding dependency

I have a template class

template <typename TString>
class IStringable
{
public:
TString ToString() const = 0;
void Parse(const TString& data) = 0;
};

class WStringable : public IStringable<eastl::wstring>
{
};

At the moment I am able to show it with IWstringable

I was wondering when will UML template allows parameterization with template parameters, bound classifiers, etc. be supported as that is the diagram that I need to do?

Hi packerx,

The realization’s template info can be entered in the Template Info field (within the “Supplier” section) of the Realization Specification dialog box. But you need an additional step to make it show in the diagram as shown below:

For the <<bind>> label to show, if you create a Binding Dependency then this stereotype is automatically assigned. For a Realization, you can do so by creating your own. An older forum post shows how you can do this:

P.S. I wonder if you had reversed the name and type of the template parameter, should it be typename: TStringType?

Best Regards,

Antony.

Hi Anthony,

Thanks for showing that link. That worked for me. So my issue is a non-issue.

With regards to the diagram, TStringType is TString in my example code here but it was TStringType when I used instant reverse. I did not touch the diagram manually and it was all a result of instant reverse. So is that an issue?

Hi packerx,

I see. Our developers will look into it. We will get back to you about the findings. Thank you.

Best Regards,

Antony.

Hi packerx,

Using Instant Reverse to reverse attached source file.
WStringable.cpp (186 Bytes)

Will Produced below result which is correct.
Screenshot

Are you able to repeat the problem? If yes, could you tell me the steps of reproducing it?

Best Regards,

Roy.

IStringable

Hi Roy,

Above are the valid representations of the IStringable class which I modified. What you are getting is what the tool is currently providing. We have to ignore the typename keyword because “typename T” is the type

The code I have is

    template <typename TStringType>
    class IStringable
    {
    public:
        virtual ~IStringable() = default;

        virtual TStringType ToString() const = 0;
        virtual void Parse(const TStringType& wszValue) = 0;

    };

    class IWStringable : public IStringable<eastl::wstring>
    {
    public:
        virtual ~IWStringable() = default;
    };

Thank you for your reply. I will share your feedback with our team. Feel free to contact us again if you need any help.