~ubuntu-branches/debian/sid/kdevelop/sid

« back to all changes in this revision

Viewing changes to languages/cpp/parser/rpp/macrorepository.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Jeremy Lainé
  • Date: 2010-05-05 07:21:55 UTC
  • mfrom: (1.2.3 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20100505072155-h78lx19pu04sbhtn
Tags: 4:4.0.0-2
* Upload to unstable (Closes: #579947, #481832).
* Acknowledge obsolete NMU fixes (Closes: #562410, #546961).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
   Copyright 2008 David Nolden <david.nolden.kdevelop@art-master.de>
 
3
 
 
4
   This library is free software; you can redistribute it and/or
 
5
   modify it under the terms of the GNU Library General Public
 
6
   License version 2 as published by the Free Software Foundation.
 
7
 
 
8
   This library is distributed in the hope that it will be useful,
 
9
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
11
   Library General Public License for more details.
 
12
 
 
13
   You should have received a copy of the GNU Library General Public License
 
14
   along with this library; see the file COPYING.LIB.  If not, write to
 
15
   the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 
16
   Boston, MA 02110-1301, USA.
 
17
*/
 
18
 
 
19
#include "macrorepository.h"
 
20
 
 
21
//The text is supposed to be utf8 encoded
 
22
using namespace rpp;
 
23
 
 
24
size_t MacroRepositoryItemRequest::itemSize() const {
 
25
  return macro.dynamicSize();
 
26
}
 
27
 
 
28
MacroRepositoryItemRequest::MacroRepositoryItemRequest(const rpp::pp_macro& _macro) : macro(_macro) {
 
29
  _macro.completeHash(); //Make sure the hash is valid
 
30
}
 
31
 
 
32
void MacroRepositoryItemRequest::destroy(rpp::pp_macro* item, KDevelop::AbstractItemRepository&) {
 
33
  item->~pp_macro();
 
34
}
 
35
 
 
36
void MacroRepositoryItemRequest::createItem(rpp::pp_macro* item) const {
 
37
  new (item) pp_macro(macro, false);
 
38
  Q_ASSERT(*item == macro);
 
39
}
 
40
 
 
41
//Should return whether the here requested item equals the given item
 
42
bool MacroRepositoryItemRequest::equals(const rpp::pp_macro* item) const {
 
43
  return macro == *item;
 
44
}