Circle cpp implement