if ($prepend) {
$PREPEND_INTERFACE=<<END_OF_PREPEND_INTERFACE;
virtual ${CONTAINER} & prepend(const ex & b);
+ virtual ${CONTAINER} & remove_first(void);
END_OF_PREPEND_INTERFACE
$PREPEND_IMPLEMENTATION=<<END_OF_PREPEND_IMPLEMENTATION;
seq.push_front(b);
return *this;
}
+${CONTAINER} & ${CONTAINER}::remove_first(void)
+{
+ ensure_if_modifiable();
+ seq.pop_front();
+ return *this;
+}
END_OF_PREPEND_IMPLEMENTATION
} else {
$PREPEND_INTERFACE=" // no prepend possible for ${CONTAINER}";
// new virtual functions which can be overridden by derived classes
public:
virtual ${CONTAINER} & append(const ex & b);
+ virtual ${CONTAINER} & remove_last(void);
${PREPEND_INTERFACE}
protected:
virtual void printseq(const print_context & c, char openbracket, char delim,
return *this;
}
+${CONTAINER} & ${CONTAINER}::remove_last(void)
+{
+ ensure_if_modifiable();
+ seq.pop_back();
+ return *this;
+}
+
${PREPEND_IMPLEMENTATION}
// protected