Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Public Member Functions | Friends | List of all members
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. More...
 
 ids_t (const std::vector< int > &buffer)
 Copy constructor. More...
 
 ids_t (const ids_t &A, const ids_t &B)
 Difference constructor. More...
 
void fix (const ids_t &B)
 Fix. More...
 

Friends

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

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 Function 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: