#ifndef CSGTERMNORMALIZER_H_ #define CSGTERMNORMALIZER_H_ #include "memory.h" class CSGTermNormalizer { public: CSGTermNormalizer() {} ~CSGTermNormalizer() {} shared_ptr normalize(const shared_ptr &term, size_t limit); private: shared_ptr normalizePass(shared_ptr term) ; bool normalize_tail(shared_ptr &term); unsigned int count(const shared_ptr &term) const; }; #endif