title: Can CLion move an in-the-class method definition out-of-class?
body: <p>Common background goes first. In C++, you can write a method definition right inside the class body, as illustrated in the following Effective-C++ styled <code>Widget</code> class:</p>
  
  <pre><code>class Widget {
    unsigned TheSize;
  public:
    unsigned getSize() const { return TheSize; }
  };
  </code></pre>
  
  <p>I know this fashion is also called <em>in-the-class definition</em> and it is <code>inline</code> implicitly (without telling the compiler with keyword). On the other hand, you can write the method out of the class, explicitly qualifying its name, like:</p>
  
  <pre><code>class Widget {
    unsigned TheSize;
  public:
    unsigned getSize() const;
  };
  
  unsigned Widget::getSize() const {
    return TheSize;
  }
  </code></pre>
  
  <p>Now comes the question. I want to transform some classes written in the <em>in-the-class</em> fashion to the <em>out-of-class</em> fashion, using <a href="https://www.jetbrains.com/clion/" rel="noreferrer">CLion</a>, the new IDE made by JetBrains for C/C++. I wonder whether this nice-looking IDE provides builtin support for this refactoring. I can't see it has a refactoring called <strong>Pull Inline Method Out of Class</strong> though it does have the opposite <a href="https://www.jetbrains.com/help/clion/inline-method.html" rel="noreferrer">Inline Method</a> refactoring tool.</p>
  
  <p><strong>Edit:</strong> The CLion version I am using:</p>
  
  <pre><code>CLion 2018.3.1
  Build #CL-183.4588.63, built on December 4, 2018
  Licensed to CLion Evaluator
  Expiration date: January 10, 2019
  JRE: 1.8.0_152-release-1343-b16 amd64
  JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
  Linux 4.15.0-42-generic
  </code></pre>