diff --git a/docs/ProgrammersManual.html b/docs/ProgrammersManual.html index 61fc213190b..8aeec6ea2ba 100644 --- a/docs/ProgrammersManual.html +++ b/docs/ProgrammersManual.html @@ -49,6 +49,8 @@ pointer
You may have noticed that the previous example was a bit +oversimplified in that it did not deal with call sites generated by +'invoke' instructions. In this, and in other situations, you may find +that you want to treat CallInsts and InvokeInsts the +same way, even though their most-specific common base class is +Instruction, which includes lots of less closely-related +things. For these cases, LLVM provides a handy wrapper class called CallSite +. It is essentially a wrapper around an Instruction +pointer, with some methods that provide functionality common to +CallInsts and InvokeInsts.
+ +This class is supposed to have "value semantics". So it should be +passed by value, not by reference; it should not be dynamically +allocated or deallocated using operator new or operator +delete. It is efficiently copyable, assignable and constructable, +with costs equivalents to that of a bare pointer. (You will notice, if +you look at its definition, that it has only a single data member.)
+ +