user1612: Going through the "timeouts" example of the elapsedMillis library (https://github.com/pfeerick/elapsedMillis) I found the following statement:
digitalWrite(LEDPIN, flashPattern[ledIndex++] ? ledBrightness : !ledBrightness);

flashpattern is an array of boolean variables  (boolean flashPattern[] = { 1,1,1,1,1,1,1,0,1,1,0 };)
ledBrightness is a boolean as well. 

What does the "?" and the ":" do there? are these boolean operators? 

user368: They are the conditional operator. If the expression before the ? is true then the result is the expression before the :, otherwise it is the expression after.

1612: <p>Going through the "timeouts" example of the elapsedMillis library (<a href="https://github.com/pfeerick/elapsedMillis" rel="nofollow">https://github.com/pfeerick/elapsedMillis</a>) I found the following statement:</p>

<p>digitalWrite(LEDPIN, flashPattern[ledIndex++] ? ledBrightness : !ledBrightness);</p>

<ul>
<li>flashpattern is an array of boolean variables  (boolean flashPattern[] = { 1,1,1,1,1,1,1,0,1,1,0 };)</li>
<li>ledBrightness is a boolean as well. </li>
</ul>

<p>What does the "?" and the ":" do there? are these boolean operators? </p>
 368: <p>They are the <a href="http://en.wikipedia.org/wiki/%3F:">conditional operator</a>. If the expression before the <code>?</code> is true then the result is the expression before the <code>:</code>, otherwise it is the expression after.</p>
