MyGUI
3.2.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
mygui
MyGUIEngine
include
MyGUI_BiIndexBase.h
Go to the documentation of this file.
1
/*
2
* This source file is part of MyGUI. For the latest info, see http://mygui.info/
3
* Distributed under the MIT License
4
* (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5
*/
6
7
#ifndef __MYGUI_BIINDEX_BASE_H__
8
#define __MYGUI_BIINDEX_BASE_H__
9
10
#include "
MyGUI_Prerequest.h
"
11
12
namespace
MyGUI
13
{
14
15
class
MYGUI_EXPORT
BiIndexBase
16
{
17
public
:
18
BiIndexBase
();
19
virtual
~
BiIndexBase
();
20
21
protected
:
22
size_t
getIndexCount()
const
;
23
24
size_t
insertItemAt(
size_t
_index);
25
26
size_t
removeItemAt(
size_t
_index);
27
28
void
removeAllItems();
29
30
// на входе индексы пользователя, на выходе реальные индексы
31
size_t
convertToBack(
size_t
_index)
const
;
32
33
// на входе индексы реальные, на выходе, то что видит пользователь
34
size_t
convertToFace(
size_t
_index)
const
;
35
36
// меняет местами два индекса, индексы со стороны пользователя
37
void
swapItemsFaceAt(
size_t
_index1,
size_t
_index2);
38
39
// меняет местами два индекса, индексы со сторонны данных
40
void
swapItemsBackAt(
size_t
_index1,
size_t
_index2);
41
42
#if MYGUI_DEBUG_MODE == 1
43
void
checkIndexes();
44
#endif
45
46
private
:
47
typedef
std::vector<size_t> VectorSizeT;
48
49
// маппинг с индексов, которые видны наружу
50
// на индексы которые реально используются данными
51
VectorSizeT mIndexFace;
52
53
// маппинг с индексов, которые используют данные
54
// на индексы которые виндны наружу
55
VectorSizeT mIndexBack;
56
};
57
58
}
// namespace MyGUI
59
60
#endif // __MYGUI_BIINDEX_BASE_H__
Generated on Wed Aug 20 2014 00:03:32 for MyGUI by
1.8.3.1