title: Does swift have a "C Type" protocol?
body: <p>I would like to constrain a generic to a type that can be represented in C.  Is there a protocol or type in the Swift standard library that all C types conform to?  </p>
  
  <pre><code>func doWithCType&lt;T:CRepresentable&gt;(cValue: T) {
      // do thing with C type
  }
  </code></pre>
  
  <p>If not a CRepresentable, maybe a CStruct type?</p>
  
  <p><strong>Clues:</strong></p>
  
  <p>Using this C type:</p>
  
  <pre><code>typedef struct {
      int hodor;
  } Hodor;
  </code></pre>
  
  <p>I force casted a struct to an incompatible type (causing a crash). This was the error message: <code>Could not cast value of type '__C.Hodor' (0x1035c0700) to 'Swift.CVarArg' (0x107196240).</code> </p>
  
  <p>I can't find "__C" anywhere, but I'm hopeful that there's a distinction for the C types.</p>