mirror of
https://github.com/zeek/zeek.git
synced 2025-10-14 04:28:20 +00:00

Majority of PLists are now created as automatic/stack objects, rather than on heap and initialized either with the known-capacity reserved upfront or directly from an initializer_list (so there's no wasted slack in the memory that gets allocated for lists containing a fixed/known number of elements). Added versions of the ConnectionEvent/QueueEvent methods that take a val_list by value. Added a move ctor/assign-operator to Plists to allow passing them around without having to copy the underlying array of pointers.
36 lines
596 B
C++
36 lines
596 B
C++
// See the file "COPYING" in the main distribution directory for copyright.
|
|
|
|
#ifndef brolist_h
|
|
#define brolist_h
|
|
|
|
#include "List.h"
|
|
|
|
class Expr;
|
|
declare(PList,Expr);
|
|
typedef PList(Expr) expr_list;
|
|
|
|
class ID;
|
|
declare(PList,ID);
|
|
typedef PList(ID) id_list;
|
|
|
|
class Val;
|
|
declare(PList,Val);
|
|
typedef PList(Val) val_list;
|
|
|
|
class Stmt;
|
|
declare(PList,Stmt);
|
|
typedef PList(Stmt) stmt_list;
|
|
|
|
class BroType;
|
|
declare(PList,BroType);
|
|
typedef PList(BroType) type_list;
|
|
|
|
class Attr;
|
|
declare(PList,Attr);
|
|
typedef PList(Attr) attr_list;
|
|
|
|
class Timer;
|
|
declare(PList,Timer);
|
|
typedef PList(Timer) timer_list;
|
|
|
|
#endif
|