copy ctor and assgnment op forbidden

for serial linked lists
This commit is contained in:
Robin Müller 2020-04-05 23:03:32 +02:00
parent 42838272a5
commit e791f44c41
3 changed files with 14 additions and 1 deletions

View File

@ -1,9 +1,9 @@
#ifndef HASRETURNVALUESIF_H_ #ifndef HASRETURNVALUESIF_H_
#define HASRETURNVALUESIF_H_ #define HASRETURNVALUESIF_H_
#include <stdint.h>
#include <framework/returnvalues/FwClassIds.h> #include <framework/returnvalues/FwClassIds.h>
#include <config/returnvalues/classIds.h> #include <config/returnvalues/classIds.h>
#include <cstdint>
#define MAKE_RETURN_CODE( number ) ((INTERFACE_ID << 8) + (number)) #define MAKE_RETURN_CODE( number ) ((INTERFACE_ID << 8) + (number))
typedef uint16_t ReturnValue_t; typedef uint16_t ReturnValue_t;

View File

@ -41,6 +41,16 @@
template<typename T, typename count_t = uint8_t> template<typename T, typename count_t = uint8_t>
class SerialLinkedListAdapter: public SinglyLinkedList<T>, public SerializeIF { class SerialLinkedListAdapter: public SinglyLinkedList<T>, public SerializeIF {
public: public:
/**
* Copying is forbidden by deleting the copy constructor and the copy
* assignment operator because of the pointers to the linked list members.
* Unless the child class implements an own copy constructor or
* copy assignment operator, these operation will throw a compiler error.
* @param
*/
SerialLinkedListAdapter(const SerialLinkedListAdapter &) = delete;
SerialLinkedListAdapter& operator=(const SerialLinkedListAdapter&) = delete;
SerialLinkedListAdapter(typename LinkedElement<T>::Iterator start, SerialLinkedListAdapter(typename LinkedElement<T>::Iterator start,
bool printCount = false) : bool printCount = false) :
SinglyLinkedList<T>(start), printCount(printCount) { SinglyLinkedList<T>(start), printCount(printCount) {

View File

@ -5,7 +5,10 @@
#include <cstddef> #include <cstddef>
#include <type_traits> #include <type_traits>
#ifndef ssize_t
typedef std::make_signed<std::size_t>::type ssize_t; typedef std::make_signed<std::size_t>::type ssize_t;
#endif
/** /**
* @defgroup serialize Serialization * @defgroup serialize Serialization
* Contains serialisation services. * Contains serialisation services.