Bitstream Interpretation Library (BIL)
0.1
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
configuration
V5Configuration.hpp
Go to the documentation of this file.
1
6
#pragma once
7
#ifndef BIL_V5CONFIGURATION_HPP
8
#define BIL_V5CONFIGURATION_HPP
9
10
#include <map>
11
#include <utility>
12
#include <vector>
13
#include <
configuration/V5AddressLayout.hpp
>
14
#include <
configuration/V5CfgFrame.hpp
>
15
#include <
configuration/V5FrameAddress.hpp
>
16
17
18
namespace
bil {
19
28
class
V5Configuration
{
29
public
:
30
31
/**********************************************************************/
32
/* CONSTRUCTION / DESTRUCTION */
33
/**********************************************************************/
34
38
V5Configuration
();
39
44
explicit
V5Configuration
(
const
V5AddressLayout
& layout);
45
50
V5Configuration
(
const
V5Configuration
& src);
51
52
53
/**********************************************************************/
54
/* ASSIGNMENT */
55
/**********************************************************************/
56
62
V5Configuration
&
operator=
(
const
V5Configuration
& src);
63
64
65
/**********************************************************************/
66
/* ADDRESS LAYOUT CONFIGURATION */
67
/**********************************************************************/
68
77
void
addressLayout
(
const
V5AddressLayout
& layout);
78
83
const
V5AddressLayout
&
addressLayout
()
const
;
84
85
86
/**********************************************************************/
87
/* MODIFICATORS */
88
/**********************************************************************/
89
101
bool
insert
(
const
V5FrameAddress
& address,
const
V5CfgFrame
& frame);
102
109
bool
erase
(
const
V5FrameAddress
& address);
110
114
void
clear
();
115
116
117
/**********************************************************************/
118
/* CONTENT ITERATION */
119
/**********************************************************************/
120
125
size_t
size
()
const
;
126
128
typedef
std::pair<const V5FrameAddress, V5CfgFrame>
pair_t
;
129
131
typedef
std::vector<pair_t*>
pairptrs_t
;
132
134
typedef
std::vector<const pair_t*>
pairconstptrs_t
;
135
142
pairptrs_t
contents
();
143
150
pairconstptrs_t
contents
()
const
;
151
152
153
/**********************************************************************/
154
/* FRAME LOOKUP */
155
/**********************************************************************/
156
163
V5CfgFrame
*
lookup
(
const
V5FrameAddress
& address);
164
171
const
V5CfgFrame
*
lookup
(
const
V5FrameAddress
& address)
const
;
172
173
174
private
:
175
176
V5AddressLayout
m_addressLayout;
177
178
typedef
std::map<V5FrameAddress, V5CfgFrame> container_t;
179
container_t m_configuration;
180
181
};
182
183
}
184
185
#endif
Generated on Wed Aug 8 2012 21:57:40 for Bitstream Interpretation Library (BIL) by
1.8.1.1