cpp grained