6 #ifndef SRC_SENSIBLESTACK_H_
7 #define SRC_SENSIBLESTACK_H_
11 #include <type_traits>
20 template <
typename T,
typename = std::enable_if<std::is_arithmetic_v<T>>>
24 static const T
zero = T(0);
30 return std::stack<T>::top();
53 return std::stack<std::string>::top();
58 std::stack<std::string>::pop();
A stack that returns zero if empty.
Definition: SensibleStack.h:21
void pop()
Definition: SensibleStack.h:33
SensibleStack()
Definition: SensibleStack.h:23
static const T zero
Definition: SensibleStack.h:24
T top()
Definition: SensibleStack.h:26
A stack that returns an empty string if empty.
Definition: SensibleStack.h:45
std::string top()
Definition: SensibleStack.h:49
void pop()
Definition: SensibleStack.h:56
SensibleStringStack()
Definition: SensibleStack.h:47