Add a more functional (i.e. fewer-stubs) implementation of System.Data.Linq.
[mono.git] / mcs / docs / ecma334 / 25.5.5.xml
1 <?xml version="1.0"?>
2 <clause number="25.5.5" title="Pointer increment and decrement">
3   <paragraph>In an unsafe context, the ++ and  --operators (<hyperlink>14.5.9</hyperlink> and <hyperlink>14.6.5</hyperlink>) can be applied to pointer variables of all types except void*. Thus, for every pointer type T*, the following operators are implicitly defined: <code_example><![CDATA[
4 T* operator ++(T* x);  
5 T* operator --(T* x);  
6 ]]></code_example></paragraph>
7   <paragraph>The operators produce the same results as x+1 and x-1, respectively (<hyperlink>25.5.6</hyperlink>). In other words, for a pointer variable of type T*, the ++ operator adds sizeof(T) to the address contained in the variable, and the  --operator subtracts sizeof(T) from the address contained in the variable. </paragraph>
8   <paragraph>If a pointer increment or decrement operation overflows the domain of the pointer type, the result is implementation-defined, but no exceptions are produced. </paragraph>
9 </clause>