Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
JACOUSTICS::JSydney::ids_t Struct Reference

List of object identifiers. More...

Inheritance diagram for JACOUSTICS::JSydney::ids_t:
std::set< int >

Public Member Functions

 ids_t ()
 Default constructor.
 
 ids_t (const std::vector< int > &buffer)
 Copy constructor.
 
 ids_t (const ids_t &A, const ids_t &B)
 Difference constructor.
 
void fix (const ids_t &B)
 Fix.
 

Friends

std::istream & operator>> (std::istream &in, ids_t &object)
 Read identifiers from input stream.
 
std::ostream & operator<< (std::ostream &out, const ids_t &object)
 Write identifiers to output stream.
 

Detailed Description

List of object identifiers.

Definition at line 141 of file JSydney.cc.

Constructor & Destructor Documentation

◆ ids_t() [1/3]

JACOUSTICS::JSydney::ids_t::ids_t ( )
inline

Default constructor.

Definition at line 147 of file JSydney.cc.

148 {}

◆ ids_t() [2/3]

JACOUSTICS::JSydney::ids_t::ids_t ( const std::vector< int > & buffer)
inline

Copy constructor.

Parameters
bufferlist of identifiers

Definition at line 156 of file JSydney.cc.

156 :
157 std::set<int>(buffer.begin(), buffer.end())
158 {}

◆ ids_t() [3/3]

JACOUSTICS::JSydney::ids_t::ids_t ( const ids_t & A,
const ids_t & B )
inline

Difference constructor.

Make list of all object identifiers in A that are not in B.

Parameters
Alist of identifiers
Blist of identifiers

Definition at line 168 of file JSydney.cc.

170 {
171 std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::inserter(*this, this->begin()));
172 }

Member Function Documentation

◆ fix()

void JACOUSTICS::JSydney::ids_t::fix ( const ids_t & B)
inline

Fix.

Keep list of object identifiers that are not in B.

Parameters
Blist of identifiers

Definition at line 181 of file JSydney.cc.

182 {
183 ids_t A;
184
185 this->swap(A);
186
187 std::set_difference(A.begin(), A.end(), B.begin(), B.end(), std::inserter(*this, this->begin()));
188 }
ids_t()
Default constructor.
Definition JSydney.cc:147

Friends And Related Symbol Documentation

◆ operator>>

std::istream & operator>> ( std::istream & in,
ids_t & object )
friend

Read identifiers from input stream.

Parameters
ininput stream
objectidentifiers
Returns
input stream

Definition at line 198 of file JSydney.cc.

199 {
200 for (int id; in >> id; ) {
201 object.insert(id);
202 }
203
204 if (!in.bad()) {
205 in.clear();
206 }
207
208 return in;
209 }

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const ids_t & object )
friend

Write identifiers to output stream.

Parameters
outoutput stream
objectidentifiers
Returns
output stream

Definition at line 219 of file JSydney.cc.

220 {
221 for (const int id : object) {
222 out << ' ' << id;
223 }
224
225 return out;
226 }

The documentation for this struct was generated from the following file: