/* Copyright 2013 The MathWorks, Inc. */ #ifndef coder_tgtsvc_Aggregator_hpp #define coder_tgtsvc_Aggregator_hpp #include #include namespace coder { namespace tgtsvc { template class Aggregator { public: typedef std::pair ArrayRange; Aggregator() : in_(0), out_(0) {} bool empty() const { return (in_ == out_); } bool full() const { return (in_+1 == out_ || (out_ == 0 && in_ == N)); } void clear() { in_ = out_ = 0; } size_t count() const { size_t r = in_ + N - out_; r = r