+ lock_guard<recursive_mutex> lock(mutex_);
+ return sample_count_;
+}
+
+unsigned int Snapshot::unit_size() const
+{
+ return unit_size_;
+}
+
+void Snapshot::set_capacity(const uint64_t new_capacity)
+{
+ lock_guard<recursive_mutex> lock(mutex_);
+
+ assert(capacity_ >= sample_count_);
+ if (new_capacity > capacity_) {
+ capacity_ = new_capacity;
+ data_.resize((new_capacity * unit_size_) + sizeof(uint64_t));
+ }
+}
+
+uint64_t Snapshot::capacity() const
+{
+ lock_guard<recursive_mutex> lock(mutex_);
+ return data_.size();