Merging from trunk

svn path=/branches/release/libs/functional/; revision=84745