The use of digraphs may not meet developer expectations.
The digraphs are:
Noncompliant code example
template <typename T>
class A
{
  public:
    template<int32_t i>
    void f2();
};
void f(A<int32_t> * a<:10:>)    /* Noncompliant - usage of '<:' instead of '[' and ':>' instead of ']' */
<%                              /* Noncompliant - usage of '<%' instead of '{' */
  a<:0:>->f2<20>();             /* Noncompliant - usage of '<:' and ':>' */
%>                              /* Noncompliant - usage of '%>' instead of '}' */
Compliant solution
/* ... */
void f(A<int32_t> * a[10])      /* Compliant */
{                               /* Compliant */
  a[0]->f2<20>();               /* Compliant */
}                               /* Compliant */