write module to .bc file

i'm afraid this question is extremely basic, but i've assumed that
dumping a .bc file from a module was a trivial operation, but now,
first time i have to actually do it from code, for the life of me i
can't find one missing step in the process:

static void WriteModule ( const Module * M, BitstreamWriter & Stream )

to write that module, first i need a BistreamWriter

BitstreamWriter::BitstreamWriter (SmallVectorImpl< char > &O)

and for a BitstreamWriter i need a SmallVectorImpl. But, what next?
Should i write the content of the SmallVectorImpl byte by byte on a
file handler myself? is there a llvm api for this? do i need something

You could just set up a llvm::raw_fd_ostream for the output file and
then pass it to llvm::WriteBitcodeToFile [1].


[1] http://llvm.org/docs/doxygen/html/namespacellvm.html#a979cf64d92322765aef149bc5b002cbb

nevermind, i found how to write to a fd_stream;