forked from aristanetworks/EosSdk
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintf_gen.cpp
More file actions
129 lines (117 loc) · 3.73 KB
/
intf_gen.cpp
File metadata and controls
129 lines (117 loc) · 3.73 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// Copyright (c) 2025 Arista Networks, Inc. All rights reserved.
// Arista Networks, Inc. Confidential and Proprietary.
#include "eos/base.h"
#include "eos/types/intf.h"
#include "eos/types/intf_impl.h"
namespace eos {
// Default constructor.
intf_counters_t::intf_counters_t() :
pimpl(std::make_shared<intf_counters_impl_t>()) {}
intf_counters_t::intf_counters_t(uint64_t out_ucast_pkts,
uint64_t out_multicast_pkts,
uint64_t out_broadcast_pkts,
uint64_t in_ucast_pkts,
uint64_t in_multicast_pkts,
uint64_t in_broadcast_pkts, uint64_t out_octets,
uint64_t in_octets, uint64_t out_discards,
uint64_t out_errors, uint64_t in_discards,
uint64_t in_errors, seconds_t sample_time) :
pimpl(std::make_shared<intf_counters_impl_t>(
out_ucast_pkts,
out_multicast_pkts,
out_broadcast_pkts,
in_ucast_pkts,
in_multicast_pkts,
in_broadcast_pkts,
out_octets,
in_octets,
out_discards,
out_errors,
in_discards,
in_errors,
sample_time
)) {}
EOS_SDK_PUBLIC intf_counters_t::intf_counters_t(
const intf_counters_t& other) :
pimpl(std::make_shared<intf_counters_impl_t>(
*other.pimpl)) {}
EOS_SDK_PUBLIC intf_counters_t&
intf_counters_t::operator=(
intf_counters_t const & other)
{
if(this != &other) {
pimpl = std::make_shared<intf_counters_impl_t>(
*other.pimpl);
}
return *this;
}
EOS_SDK_PUBLIC intf_counters_t::intf_counters_t(
intf_counters_t && other) noexcept :
pimpl(std::move(other.pimpl)) {}
EOS_SDK_PUBLIC intf_counters_t&
intf_counters_t::operator=(
intf_counters_t && other) noexcept
{
if(this != &other) {
std::swap(pimpl, other.pimpl);
}
return *this;
}
EOS_SDK_PUBLIC void *
intf_counters_t::operator new( std::size_t size ) {
return ::operator new( size );
}
EOS_SDK_PUBLIC void
intf_counters_t::operator delete( void * p ) noexcept {
::operator delete( p );
}
// Default constructor.
intf_traffic_rates_t::intf_traffic_rates_t() :
pimpl(std::make_shared<intf_traffic_rates_impl_t>()) {}
intf_traffic_rates_t::intf_traffic_rates_t(double out_pkts_rate,
double in_pkts_rate,
double out_bits_rate,
double in_bits_rate,
seconds_t sample_time) :
pimpl(std::make_shared<intf_traffic_rates_impl_t>(
out_pkts_rate,
in_pkts_rate,
out_bits_rate,
in_bits_rate,
sample_time
)) {}
EOS_SDK_PUBLIC intf_traffic_rates_t::intf_traffic_rates_t(
const intf_traffic_rates_t& other) :
pimpl(std::make_shared<intf_traffic_rates_impl_t>(
*other.pimpl)) {}
EOS_SDK_PUBLIC intf_traffic_rates_t&
intf_traffic_rates_t::operator=(
intf_traffic_rates_t const & other)
{
if(this != &other) {
pimpl = std::make_shared<intf_traffic_rates_impl_t>(
*other.pimpl);
}
return *this;
}
EOS_SDK_PUBLIC intf_traffic_rates_t::intf_traffic_rates_t(
intf_traffic_rates_t && other) noexcept :
pimpl(std::move(other.pimpl)) {}
EOS_SDK_PUBLIC intf_traffic_rates_t&
intf_traffic_rates_t::operator=(
intf_traffic_rates_t && other) noexcept
{
if(this != &other) {
std::swap(pimpl, other.pimpl);
}
return *this;
}
EOS_SDK_PUBLIC void *
intf_traffic_rates_t::operator new( std::size_t size ) {
return ::operator new( size );
}
EOS_SDK_PUBLIC void
intf_traffic_rates_t::operator delete( void * p ) noexcept {
::operator delete( p );
}
} // namespace eos