Initial commit of functional cplusplus