diff options
Diffstat (limited to 'searchsummary/src/tests/extractkeywords/simplequerystack.h')
-rw-r--r-- | searchsummary/src/tests/extractkeywords/simplequerystack.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/searchsummary/src/tests/extractkeywords/simplequerystack.h b/searchsummary/src/tests/extractkeywords/simplequerystack.h new file mode 100644 index 00000000000..7347c66c925 --- /dev/null +++ b/searchsummary/src/tests/extractkeywords/simplequerystack.h @@ -0,0 +1,49 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#pragma once + +#include "simplequerystackitem.h" +#include <vespa/searchlib/util/rawbuf.h> +#include <vespa/vespalib/stllike/string.h> + +namespace search { + +/** + * A stack of SimpleQueryStackItems. + * + * A simple stack consisting of a list of SimpleQueryStackItems. + * It is able to generate a binary encoding of itself + * to a RawBuf. + */ +class SimpleQueryStack +{ +private: + /** The top of the stack. */ + SimpleQueryStackItem *_stack; + +public: + SimpleQueryStack(const SimpleQueryStack &) = delete; + SimpleQueryStack& operator=(const SimpleQueryStack &) = delete; + /** + * Constructor for SimpleQueryStack. + */ + SimpleQueryStack(); + /** + * Destructor for SimpleQueryStack. + */ + ~SimpleQueryStack(); + /** + * Push an item on the stack. + * @param item The SimpleQueryStackItem to push. + */ + void Push(SimpleQueryStackItem *item); + + /** + * Encode the contents of the stack in a binary buffer. + * @param buf Pointer to a buffer containing the encoded contents. + */ + void AppendBuffer(RawBuf *buf) const; +}; + +} // namespace search + |