<?xml version="1.0"?>
<rule>
    <tokenlist>normal</tokenlist>
    <pattern><![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = \w+ \[ \1 \] ; }]]></pattern>
    <message>
        <id>useStlAlgorithm</id>
        <severity>style</severity>
        <summary>Considering using std::copy instead.</summary>
    </message>
</rule>
<rule>
    <tokenlist>normal</tokenlist>
    <pattern><![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = \w+ ; }]]></pattern>
    <message>
        <id>useStlAlgorithm</id>
        <severity>style</severity>
        <summary>Considering using std::fill instead.</summary>
    </message>
</rule>
<rule>
    <tokenlist>normal</tokenlist>
    <pattern><![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \) ; }]]></pattern>
    <message>
        <id>useStlAlgorithm</id>
        <severity>style</severity>
        <summary>Considering using std::generate instead.</summary>
    </message>
</rule>
<rule>
    <tokenlist>normal</tokenlist>
    <pattern><![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \w+ \[ \1 \] \) ; }]]></pattern>
    <message>
        <id>useStlAlgorithm</id>
        <severity>style</severity>
        <summary>Considering using std::transform instead.</summary>
    </message>
</rule>
<rule>
    <tokenlist>normal</tokenlist>
    <pattern><![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \w+ \[ \1 \] , \w+ \[ \1 \] \) ; }]]></pattern>
    <message>
        <id>useStlAlgorithm</id>
        <severity>style</severity>
        <summary>Considering using std::transform instead.</summary>
    </message>
</rule>
