mirror of
https://github.com/FairRootGroup/FairMQ.git
synced 2025-10-13 08:41:16 +00:00
Switch of compiler warnings for part of the code. The compiler flag -Weffc++ of the gcc compiler creates many warnings about non virtual destructor of base classes where the base class is actually a class from boost or from stl. Switch of the compiler flag for the problematic parts of the code using preprocessor statements. There are also such preprocessor guards for code which creates many warnings when using clang. Filter warnings comming from generated files. When using CTest all warnings comming from generated code (Root Dictionaries, code generated by protoc) will be filtered before sending the results to the CDash web server. Remove unused variables or use them. Initialize all data members in initializer lists. Use in initializer list the same order of data members as defined in the class declaration. Declare private copy constructors and assignment operators where needed. Fix format problems in printf statements. Correctly cast the variables.
53 lines
1.9 KiB
C++
53 lines
1.9 KiB
C++
/********************************************************************************
|
|
* Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
|
|
* *
|
|
* This software is distributed under the terms of the *
|
|
* GNU Lesser General Public Licence version 3 (LGPL) version 3, *
|
|
* copied verbatim in the file "LICENSE" *
|
|
********************************************************************************/
|
|
|
|
#ifndef FAIRMQPARTS_H_
|
|
#define FAIRMQPARTS_H_
|
|
|
|
#include <vector>
|
|
#include <memory> // unique_ptr
|
|
|
|
#include "FairMQTransportFactory.h"
|
|
#include "FairMQMessage.h"
|
|
|
|
class FairMQParts
|
|
{
|
|
public:
|
|
/// Default constructor
|
|
FairMQParts() : fParts() {};
|
|
/// Copy Constructor
|
|
FairMQParts(const FairMQParts&) = delete;
|
|
/// Assignment operator
|
|
FairMQParts& operator=(const FairMQParts&) = delete;
|
|
/// Default destructor
|
|
~FairMQParts() {};
|
|
|
|
/// Adds part (FairMQMessage) to the container
|
|
/// @param msg message pointer (for example created with NewMessage() method of FairMQDevice)
|
|
inline void AddPart(FairMQMessage* msg)
|
|
{
|
|
fParts.push_back(std::unique_ptr<FairMQMessage>(msg));
|
|
}
|
|
|
|
/// Get reference to part in the container at index (without bounds check)
|
|
/// @param index container index
|
|
inline FairMQMessage& operator[](const int index) { return *(fParts[index]); }
|
|
|
|
/// Get reference to part in the container at index (with bounds check)
|
|
/// @param index container index
|
|
inline FairMQMessage& At(const int index) { return *(fParts.at(index)); }
|
|
|
|
/// Get number of parts in the container
|
|
/// @return number of parts in the container
|
|
inline int Size() const { return fParts.size(); }
|
|
|
|
std::vector<std::unique_ptr<FairMQMessage>> fParts;
|
|
};
|
|
|
|
#endif /* FAIRMQPARTS_H_ */
|