update c++api
update specification 2014, remove ancestor argument
update usage