Welcome to mirror list, hosted at ThFree Co, Russian Federation.

attribute_buffer_mutator.cpp « drape - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 21fd5d67315d75880e189933752a9c336d19db51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "drape/attribute_buffer_mutator.hpp"

namespace dp
{
AttributeBufferMutator::~AttributeBufferMutator()
{
  SharedBufferManager & mng = SharedBufferManager::instance();
  for (size_t i = 0; i < m_array.size(); ++i)
  {
    TBufferNode & node = m_array[i];
    mng.freeSharedBuffer(node.second, node.first);
  }
}

void AttributeBufferMutator::AddMutation(BindingInfo const & info, MutateNode const & node)
{
  m_data[info].push_back(node);
}

void * AttributeBufferMutator::AllocateMutationBuffer(uint32_t byteCount)
{
  m_array.push_back(make_pair(SharedBufferManager::instance().reserveSharedBuffer(byteCount), byteCount));
  return &((*m_array.back().first)[0]);
}
}  // namespace dp