mirror of
https://github.com/zeek/zeek.git
synced 2025-10-07 17:18:20 +00:00
Merge branch 'paraglob' of https://github.com/ZekeMedley/zeek
* 'paraglob' of https://github.com/ZekeMedley/zeek: Add leak test to paraglob. Catch paraglob serialization errors in DoClone. Update paraglob serialization. Stop execution on paraglob error. Update paraglob submodule Change C++11 detection in paraglob. Make paraglob serializable and copyable. Initial paraglob integration. I made a bunch of small changes: * paraglob now deals better with \0 characters * I rolled back the changes to Binary Serialization format, * there were some small formatting issue * the error output was slightly unsafe * build_unique is now in util.h. and perhaps a few more small things.
This commit is contained in:
commit
5f9a9bbcbe
22 changed files with 432 additions and 4 deletions
|
@ -3,12 +3,18 @@
|
|||
#ifndef OPAQUEVAL_H
|
||||
#define OPAQUEVAL_H
|
||||
|
||||
|
||||
|
||||
#include <memory> // std::unique_ptr
|
||||
|
||||
#include <broker/data.hh>
|
||||
#include <broker/expected.hh>
|
||||
|
||||
|
||||
#include "RandTest.h"
|
||||
#include "Val.h"
|
||||
#include "digest.h"
|
||||
#include "src/paraglob.h"
|
||||
|
||||
class OpaqueVal;
|
||||
|
||||
|
@ -319,4 +325,20 @@ private:
|
|||
probabilistic::CardinalityCounter* c;
|
||||
};
|
||||
|
||||
class ParaglobVal : public OpaqueVal {
|
||||
public:
|
||||
explicit ParaglobVal(std::unique_ptr<paraglob::Paraglob> p);
|
||||
VectorVal* Get(StringVal* &pattern);
|
||||
Val* DoClone(CloneState* state) override;
|
||||
bool operator==(const ParaglobVal& other) const;
|
||||
|
||||
protected:
|
||||
ParaglobVal() : OpaqueVal(paraglob_type) {}
|
||||
|
||||
DECLARE_OPAQUE_VALUE(ParaglobVal)
|
||||
|
||||
private:
|
||||
std::unique_ptr<paraglob::Paraglob> internal_paraglob;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue