[docooler] add cpp implement