Package org.apache.sysds.hops.codegen.cplan

## Class CNodeTpl

- java.lang.Object
- - org.apache.sysds.hops.codegen.cplan.CNode
  - - org.apache.sysds.hops.codegen.cplan.CNodeTpl

- All Implemented Interfaces:
    `Cloneable`
  Direct Known Subclasses:
    `CNodeCell`, `CNodeMultiAgg`, `CNodeOuterProduct`, `CNodeRow`

      public abstract class CNodeTpl
      extends CNode
      implements Cloneable

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CNodeTpl​(ArrayList<CNode> inputs, CNode output)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addInput​(CNode in)` |
    `abstract CNodeTpl` | `clone()` |
    `String` | `codegen()` |
    `abstract int` | `compile​(SpoofCompiler.GeneratorAPI api, String src)` |
    `boolean` | `equals​(Object o)` |
    `int` | `getBeginLine()` |
    `SpoofCompiler.GeneratorAPI` | `getGeneratorAPI()` |
    `HashSet<Long>` | `getInputHopIDs​(boolean inclLiterals)` |
    `String[]` | `getInputNames()` |
    `abstract SpoofFusedOp.SpoofOutputDimsType` | `getOutputDimType()` |
    `abstract String` | `getTemplateInfo()` |
    `int` | `hashCode()` |
    `abstract void` | `renameInputs()` |
    `static void` | `resetVisitStatus​(List<CNode> outputs)` |
    `void` | `resetVisitStatusOutputs()` |
    `void` | `rReorderCommutativeBinaryOps​(CNode node, long mainHopID)` |
    `void` | `setBeginLine​(int line)` |
    `void` | `setGeneratorAPI​(SpoofCompiler.GeneratorAPI _api)` |

    - ### Methods inherited from class org.apache.sysds.hops.codegen.cplan.CNode

      `codegen, createVarname, getClassname, getDataType, getID, getInput, getNumCols, getNumRows, getOutput, getVarname, getVarname, getVectorLength, isGenerated, isLiteral, isSupported, isVisited, resetGenerated, resetHash, resetVisitStatus, setDataType, setLiteral, setNumCols, setNumRows, setOutput, setOutputDims, setVarName, setVisited, setVisited`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CNodeTpl

          public CNodeTpl​(ArrayList<CNode> inputs,
                          CNode output)

  - ### Method Detail

    - #### addInput

          public void addInput​(CNode in)

    - #### getInputNames

          public String[] getInputNames()

    - #### getInputHopIDs

          public HashSet<Long> getInputHopIDs​(boolean inclLiterals)

    - #### resetVisitStatusOutputs

          public void resetVisitStatusOutputs()

    - #### resetVisitStatus

          public static void resetVisitStatus​(List<CNode> outputs)

    - #### codegen

          public String codegen()

    - #### clone

          public abstract CNodeTpl clone()

    - #### getOutputDimType

          public abstract SpoofFusedOp.SpoofOutputDimsType getOutputDimType()

    - #### getTemplateInfo

          public abstract String getTemplateInfo()

    - #### renameInputs

          public abstract void renameInputs()

    - #### rReorderCommutativeBinaryOps

          public void rReorderCommutativeBinaryOps​(CNode node,
                                                   long mainHopID)

    - #### setBeginLine

          public void setBeginLine​(int line)

    - #### getBeginLine

          public int getBeginLine()

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `CNode`

    - #### equals

          public boolean equals​(Object o)

      Overrides:
        `equals` in class `CNode`

    - #### getGeneratorAPI

          public SpoofCompiler.GeneratorAPI getGeneratorAPI()

    - #### setGeneratorAPI

          public void setGeneratorAPI​(SpoofCompiler.GeneratorAPI _api)

    - #### compile

          public abstract int compile​(SpoofCompiler.GeneratorAPI api,
                                      String src)