Thanks Marshall for the reply.
In our code I faced a strange error when splitting the string. The hyphen symbol was used to represent null data, upon splitting the string containing only hyphen, I expected a result of zero tokens (I was wrong here). Even dynamic languages are behaving same, see below a python sample,
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = "-Foo"
>>> tokens = s.split("-")
>>> print tokens
['', 'Foo']
>>>
An example in the boost documentation would help the user.
Even the following command line example proves the same,
$echo "a-b" | awk -F "-" '{for (i=1; i <= NR; i++) printf "%s:", $i}' ---> This will print a:b
$echo "-" | awk -F "-" '{for (i=1; i <= NR; i++) printf "%s:", $i}' ---> This will print : (i.e. two NUL strings on screen)
Infact the second command line example was the reason behind my confusion :)
Thankful to you all Boost developers. Great work.