Type_t median_value(Iterator_t begin, Iterator_t end) { assert(begin != end); typename Iterator_t::difference_type size = std::distance(begin, end); assert(size > 0); std::size_t half_size = static_cast<std::size_t>(size / 2); if (size % 2 == 0) { Iterator_t next = begin; std::advance(begin, half_size - 1); std::advance(next, half_size); return static_cast<Type_t>((*begin + *next) / Type_t(2)); } else { std::advance(begin, half_size); return static_cast<Type_t>(*begin); } }
void IProperty::setType(std::string theType) { mType = Type_t(theType); }
Type_t average_value(Iterator_t begin, Iterator_t end) { Type_t full_time = std::accumulate(begin, end, Type_t(0)); return static_cast<Type_t>(full_time) / std::distance(begin, end); }
void IEvent::SetType(std::string theType) { mType = Type_t(theType); }