A Discrete-Event Network Simulator
lorawan @ (+)
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
l
m
n
o
p
q
r
s
t
w
Enumerator
a
b
c
d
e
f
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Symbols
:
a
b
c
d
e
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Enumerator
e
l
v
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
▼
ns-3
►
ns-3 Documentation
►
All Environment Variables
Todo List
Deprecated List
Bug List
►
Topics
►
Namespaces
►
Classes
▼
Files
▼
File List
►
doc
►
examples
▼
src
►
antenna
►
aodv
►
applications
►
bridge
►
brite
►
buildings
►
click
►
config-store
▼
core
►
doc
►
examples
►
helper
▼
model
►
abort.h
ascii-file.cc
►
ascii-file.h
►
ascii-test.h
►
assert.h
►
attribute-accessor-helper.h
attribute-construction-list.cc
►
attribute-construction-list.h
►
attribute-container.h
►
attribute-helper.h
attribute.cc
►
attribute.h
►
boolean.cc
►
boolean.h
►
breakpoint.cc
►
breakpoint.h
►
build-profile.h
►
cairo-wideint-private.h
►
cairo-wideint.c
calendar-scheduler.cc
calendar-scheduler.h
►
callback.cc
►
callback.h
►
command-line.cc
►
command-line.h
►
config.cc
►
config.h
default-deleter.h
default-simulator-impl.cc
►
default-simulator-impl.h
demangle.cc
►
demangle.h
►
deprecated.h
des-metrics.cc
des-metrics.h
►
double.cc
►
double.h
►
enum.h
►
environment-variable.cc
►
environment-variable.h
event-id.cc
►
event-id.h
event-impl.cc
event-impl.h
example-as-test.cc
example-as-test.h
►
fatal-error.h
►
fatal-impl.cc
►
fatal-impl.h
►
fd-reader.h
global-value.cc
global-value.h
►
hash-fnv.cc
hash-fnv.h
hash-function.cc
►
hash-function.h
►
hash-murmur3.cc
hash-murmur3.h
►
hash.cc
►
hash.h
heap-scheduler.cc
heap-scheduler.h
►
int64x64-128.cc
►
int64x64-128.h
►
int64x64-cairo.cc
int64x64-cairo.h
int64x64-double.h
►
int64x64.cc
►
int64x64.h
►
integer.cc
►
integer.h
►
length.cc
►
length.h
list-scheduler.cc
list-scheduler.h
log-macros-disabled.h
►
log-macros-enabled.h
►
log.cc
►
log.h
►
make-event.h
map-scheduler.cc
map-scheduler.h
math.h
matrix-array.cc
►
matrix-array.h
names.cc
names.h
►
node-printer.cc
►
node-printer.h
►
nstime.h
►
object-base.cc
►
object-base.h
►
object-factory.cc
►
object-factory.h
►
object-map.h
object-ptr-container.cc
►
object-ptr-container.h
►
object-vector.h
object.cc
►
object.h
►
pair.h
pointer.cc
►
pointer.h
priority-queue-scheduler.cc
►
priority-queue-scheduler.h
►
ptr.h
random-variable-stream.cc
random-variable-stream.h
realtime-simulator-impl.cc
realtime-simulator-impl.h
rng-seed-manager.cc
►
rng-seed-manager.h
►
rng-stream.cc
rng-stream.h
scheduler.cc
►
scheduler.h
show-progress.cc
show-progress.h
►
shuffle.h
simple-ref-count.h
simulation-singleton.h
simulator-impl.cc
simulator-impl.h
►
simulator.cc
►
simulator.h
singleton.h
►
string.cc
►
string.h
synchronizer.cc
synchronizer.h
►
system-path.cc
►
system-path.h
system-wall-clock-ms.cc
system-wall-clock-ms.h
system-wall-clock-timestamp.cc
►
system-wall-clock-timestamp.h
►
test.cc
►
test.h
►
time-printer.cc
►
time-printer.h
►
time.cc
►
timer-impl.h
timer.cc
timer.h
trace-source-accessor.cc
►
trace-source-accessor.h
traced-callback.h
►
traced-value.h
trickle-timer.cc
trickle-timer.h
►
tuple.h
►
type-id.cc
►
type-id.h
►
type-name.h
►
type-traits.h
►
uinteger.cc
►
uinteger.h
►
uniform-random-bit-generator.h
unix-fd-reader.cc
►
val-array.h
►
valgrind.h
►
vector.cc
►
vector.h
version.cc
version.h
wall-clock-synchronizer.cc
wall-clock-synchronizer.h
►
warnings.h
watchdog.cc
watchdog.h
win32-fd-reader.cc
►
test
►
csma
►
csma-layout
►
dsdv
►
dsr
►
energy
►
fd-net-device
►
flow-monitor
►
internet
►
internet-apps
►
lorawan
►
lr-wpan
►
lte
►
mesh
►
mobility
►
mpi
►
netanim
►
network
►
nix-vector-routing
►
olsr
►
openflow
►
point-to-point
►
point-to-point-layout
►
propagation
►
sixlowpan
►
spectrum
►
stats
►
tap-bridge
►
test
►
topology-read
►
traffic-control
►
uan
►
virtual-net-device
►
visualizer
►
wifi
►
wimax
►
utils
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
integer.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7
*/
8
#ifndef INTEGER_H
9
#define INTEGER_H
10
11
#include "
attribute-helper.h
"
12
#include "
attribute.h
"
13
14
#include <limits>
15
#include <stdint.h>
16
17
/**
18
* \file
19
* \ingroup attribute_Integer
20
* ns3::IntegerValue attribute value declarations and template implementations.
21
*/
22
23
namespace
ns3
24
{
25
26
// Additional docs for class IntegerValue:
27
/**
28
* Hold a signed integer type
29
*
30
* This class can be used to hold variables of signed integer
31
* type such as int8_t, int16_t, int32_t, int64_t, or,
32
* int, etc.
33
*/
34
ATTRIBUTE_VALUE_DEFINE_WITH_NAME
(int64_t, Integer);
35
ATTRIBUTE_ACCESSOR_DEFINE
(Integer);
36
37
template
<
typename
T>
38
Ptr<const AttributeChecker>
MakeIntegerChecker
();
39
40
/**
41
* Make a checker with a minimum value.
42
*
43
* The minimum value is included in the allowed range.
44
*
45
* \param [in] min The minimum value.
46
* \returns The AttributeChecker.
47
* \see AttributeChecker
48
*/
49
template
<
typename
T>
50
Ptr<const AttributeChecker>
MakeIntegerChecker
(int64_t min);
51
52
/**
53
* Make a checker with a minimum and a maximum value.
54
*
55
* The minimum and maximum values are included in the allowed range.
56
*
57
* \param [in] min The minimum value.
58
* \param [in] max The maximum value.
59
* \returns The AttributeChecker.
60
* \see AttributeChecker
61
*/
62
template
<
typename
T>
63
Ptr<const AttributeChecker>
MakeIntegerChecker
(int64_t min, int64_t max);
64
65
}
// namespace ns3
66
67
/***************************************************************
68
* Implementation of the templates declared above.
69
***************************************************************/
70
71
#include "
type-name.h
"
72
73
namespace
ns3
74
{
75
76
namespace
internal
77
{
78
79
Ptr<const AttributeChecker>
MakeIntegerChecker
(int64_t min, int64_t max, std::string name);
80
81
}
// namespace internal
82
83
template
<
typename
T>
84
Ptr<const AttributeChecker>
85
MakeIntegerChecker
(int64_t min, int64_t max)
86
{
87
return
internal::MakeIntegerChecker
(min, max,
TypeNameGet<T>
());
88
}
85
MakeIntegerChecker
(int64_t min, int64_t max) {
…
}
89
90
template
<
typename
T>
91
Ptr<const AttributeChecker>
92
MakeIntegerChecker
(int64_t min)
93
{
94
return
internal::MakeIntegerChecker
(min, std::numeric_limits<T>::max(),
TypeNameGet<T>
());
95
}
92
MakeIntegerChecker
(int64_t min) {
…
}
96
97
template
<
typename
T>
98
Ptr<const AttributeChecker>
99
MakeIntegerChecker
()
100
{
101
return
internal::MakeIntegerChecker
(std::numeric_limits<T>::min(),
102
std::numeric_limits<T>::max(),
103
TypeNameGet<T>
());
104
}
99
MakeIntegerChecker
() {
…
}
105
106
}
// namespace ns3
107
108
#endif
/* INTEGER_H */
attribute-helper.h
Attribute helper (ATTRIBUTE_ )macros definition.
attribute.h
ns3::AttributeValue, ns3::AttributeAccessor and ns3::AttributeChecker declarations.
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ATTRIBUTE_VALUE_DEFINE_WITH_NAME
#define ATTRIBUTE_VALUE_DEFINE_WITH_NAME(type, name)
Declare the attribute value class nameValue for underlying class type .
Definition
attribute-helper.h:192
ATTRIBUTE_ACCESSOR_DEFINE
#define ATTRIBUTE_ACCESSOR_DEFINE(type)
Define the attribute accessor functions MakeTypeAccessor for class type .
Definition
attribute-helper.h:163
ns3::TypeNameGet
std::string TypeNameGet()
Type name strings for AttributeValue types.
Definition
type-name.h:36
ns3::internal::MakeIntegerChecker
Ptr< const AttributeChecker > MakeIntegerChecker(int64_t min, int64_t max, std::string name)
Make an Integer attribute checker with embedded numeric type name.
Definition
integer.cc:41
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::MakeIntegerChecker
Ptr< const AttributeChecker > MakeIntegerChecker()
Definition
integer.h:99
type-name.h
ns3::TypeNameGet() function declarations.
src
core
model
integer.h
Generated on Mon Jan 27 2025 16:35:46 for ns-3 by
1.11.0